Kimi Antonelli beat Lando Norris to victory in a thrilling Miami Grand Prix to claim his third successive race win and extend his world championship lead to 20 points.