Fix Issue #2354
Once a Texture Atlas VAO has deallocated by glDeleteVertexArrays. The GLStateCache may have been recently set to that vaoID. When shortly after a new glGenVertexArrays gets the same vaoID but the glBindVertexArray is bypassed because of the GLStateCache is not aware the VAO was just invalidated, and new vertex are copied to the old freed address.
Merge pull request #3144 from jllust/Fix#2354

closed 2401: CCLabelBMFont crashes in glDrawElements of CCTextureAtlas::drawNumberOfQuads sometimes