Ferran Torres scorede hele tre mål, da Manchester City vandt et underholdende opgør med 4-3 over Newcastle i Premier League.