French favourite Calandagan comes from behind to pass Kalpana and win the King George VI and Queen Elizabeth Stakes at Ascot.