Adds missing @Override annotations, fixes a few bugs and decreases the native memory footprint of the JOGL renderer

I've just added the @Override missing annotations into the renderer. A few constants moved from GL2GL3 to GL2ES3, that's why I've updated them. I use a set of direct NIO buffers created from a single one that I slice in order to decrease the native memory footprint of the renderer by avoiding to create tons of very small short-lived buffers. The "main" buffer occupies 4KB which is a lot less than the sum of the whole native memory used by the buffers that it replaces. This buffer is NOT used to duplicate the content of matrices, store the data of VBOs/UBOs/IBOs, store the data of images, ... It's up to the developer to handle these cases carefully.