Allow libgdx to function under 3.2 core profile on desktop (and presumably elsewhere as well).
* In core profiles glGetString(GL_EXTENSIONS) is deprecated, so a new mechanism is used to test for extensions.
* In core profiles VAOs are mandatory, so VertexBufferObject now tracks a VAO instead of binding all attributes on every call. This should be a slight performance improvement under GL30.
* VertexArray uses a deprecated call to VertexAttribPointer() that references client memory. This is not allowed in core profiles. I found it simpler to use VertexBufferObject for GL30. VertexArray is only being created inside a particular Mesh constructor, which seems to be used mainly by the *Batch classes. I modified the calling classes to check for GL30 and ask for an appropriate VertexData. It might be good to be more aggressive here and just remove VertexArray altogether, but I wasn't sure what that would affect so I chose the conservative route.
With these changes SpriteBatch and Mesh function properly on my machine. No shader changes were needed.

Needs more testing, so far I've just tested on my windows desktop. But I'm confident that this is in the right direction. I have not tested on a Mac or Mobile or GWT.