Add critical arrays to gl interface

This PR isn't ready for pulling yet. Having a PR makes it a bit easier on github to see and test the changes.
I accidentally included #2474 into this PR as well.

This adds optional support for java arrays instead of buffers to the GL20 interface. Leaving it up to the backend on how to translate between the java array and the opengl call. This removes the sometimes unneeded copy from java array to buffer and back.

Only added the most obvious methods (genbuffer, uniformfv, etc). I've tested the implementation of lwjgl and android (e.g. by running SkeletonTest, probably needs more testing though). I did implement, but haven't tested GWT yet. Haven't looked at the RoboVM and jglfw implementation yet.