Johann Zarco mounts a spectacular comeback to take his second win of the season on the very last lap at the Catalan GP.