Lando Norris dominated the Mexico City Grand Prix, taking victory by over half a minute from Charles Leclerc and Max Verstappen.