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.