Goals from Phil Foden and Bernardo Silva gave City a deserved but hard-earned 2-0 win over Newcastle United at the Etihad.