A Cristián Zapata goal deep in injury time completed a second-half fight back for Milan and kept their noses in front of their city rivals in a thrilling derby