Allow libgdx to function under 3.2 core profile on desktop.

In core profiles glGetString(GL_EXTENSIONS) is deprecated, so a new mechanism is used to test for extensions.

In core profiles VAOs are mandatory, and VertexAttribPointer cannot use
client memory, so I introduced a parallel VertexData implementation,
VertexBufferObjectWithVAO, that is used when gl3 is available.

I have tested on my windows desktop. This fixes the behavior of SpriteBatch and works with my plain Meshes and Shaders. Everything appears to be working now in the core profile.

I have not tested on mac or mobile.