Manchester City beat Liverpool 5-4 on penalties after a 1-1 draw to retain the Community Shield in an absorbing contest at Wembley.