Manchester City left it late - very late - as Gabriel Jesus struck on 92 minutes to snatch the win against Swansea.