Canonical Heights on Shimura Varieties and the Andr\'e-Oort Conjecture