Initial work on CoreGL implementation restructuring

NOTE:  This commit contains many errors in broken class/interface references.  It is a work in progress.

Implementations thus far:
CoreGL -- JoglCoreGL/LwjglCoreGL
CoreElementVBO
CoreVBO
CoreCheckGL (removed) -> CoreGL implementations
Refactoring of CoreGL interface structure
-Added 'CoreGL', an interface provides an implementation indepenent API for accessing OpenGL functions and constants
-Added JOGL and LWJGL implementations of CoreGL interface
-Changed most of the interfaces in core package to classes that use the abstracted CoreGL interface
-Added CoreUtil interface as an abstracted utility API (also wrote JOGL/LWJGL implementations for it)
-Implementation of CoreSetup for JOGL (not yet tested!)
-Removed previous Core* class implementations from JOGL/LWJGL modules (except for classes that have not yet been finished in core package).

NOTE: This is an unfinished commit. Some code is still broken or incomplete.
Moved core library interfaces to spi package; remvoed outdated examples and merged JOGL/LWJGL example modules
-Added GL version check methods to CoreUtil interface and implemented for JOGL
    Not yet implemented in LWJGL!
Added CoreUBO + CoreVersion and finished implementing version checking methods in CoreUtil

Other changes:
-Removed remaining LWJGL legacy implementation classes
-Added glBindBufferBase and GL_UNIFORM_BUFFER to CoreGL interface and implementations
-Updated CoreTextureAtlasGenerator to work with library changes
-Moved UniformBlockInfo from CoreShader to separate compilation unit
-Fixed CoreVBO methods not being public
-Changed visibility of CoreTexture2DConstants to public
-Added static constructor methods for several of the Core* components

All modules (except examples) now compile! :D
Added Core* lazy initializers; marked JoglCoreGL with TODOs; non-core removal

-Lazy initializers for CoreVAO, CoreVBO
-Fixed SuperSimpleExampleMain (JOGL working, my system won't run LWJGL for whatever reason)
-Rewrote CoreSetupJogl
-Modified RenderLoopCallback interface to make more sense :)
-Moved examples to single package (de.lessvoid.coregl.examples)
-Added CoreExample
Fix for LwjglCoreGL compiler error; added main method to SuperSimpleExampleMain
Fixed CoreVBO not using direct int buffer
More CoreVBO fixes
Fixed CoreSetupJogl defaulting to non-core profile

-Fixed JoglCoreGL using GL2 instead of GL for glDrawArrays
Reworked all Core library examples; clean-up and general refactoring

-All examples in the core-utils-examples module have been reworked to use the new CoreGL library interface.
-Modified CoreSetup.RenderLoopCallback interface (and removed RenderLoopCallback2)
-CoreVersion now properly parses standard GL_SHADING_LANGUAGE_VERSION standard return values.
-Fixed CoreShader not locating uniform array methods properly (partially because they didn't exist yet)
-Added vector uniform methods: glUniform1fv/2fv/3fv/4fv and glUniform1iv/2iv/3iv/4iv
-Added several other GL functions/enums.
-Added package internal class ExampleMain to abstract main entry points for all CoreExample implementations.

All modules now compile! :)
Bug fixes/refactoring in core-util-examples

-CoreExample now extends RenderLoopCallback, so all CoreExample classes now ONLY implement CoreExample.
-ExampleMain now prints class name for each example instead of saying SuperSimpleExampleMain for everything (oops) :/
-CoreSetupLwjgl no longer requests OpenGL 3.2 on init (idk why it was doing that?) -- it now uses the default ContextAttribs constructor which grabs the highest available OpenGL core profile
-Fixed CoreSetupJogl not resetting frame count after updating FPS string
-Fixed CoreSetupJogl enableVSync method; upon calling the method, a flag is set to update the vsync setting in the GL context upon the next call to 'display' in GLEventReceiver - this prevents enableVSync from throwing a GLException if the caller is not the thread holding ownership of teh GL context.
-Added SimpleFPSBenchmark class (at least temporarily) to run simple performance tests on the two backends.
Moved CoreTexture2DConstants enums to separate files

-ColorFormat, ResizeFilter, and Type enums now have their own compilation units; this allows public usage of them without needing to expose CoreTexture2DConstants to the public API.
-Modified example classes to correctly import the enum type from their new locations
-Added static instantiation method to CoreElementVBO
Refactored coregl-utils-examples; minor changes to CoreSetupJogl

coregl-utils-examples:
-Renamed dir coregl-utils-lwjgl-examples -> coregl-utils-examples
-Removed CoreExample, all classes now again implement only RenderLoopCallback
-Removed all runJogl/runLwjgl methods
-CoreExampleMain now handles CoreGL and CoreSetup initialization separately for JOGL and LWJGL.
-Updated references in all example classes to work with changes

coregl-utils-jogl:
-CoreSetupJogl now uses exclusive context thread to prevent unnecessary overhead from thread context switching
Removed coregl-utils-lwjgl-examples directory completely
Merge pull request #5 from bgroenks96/master

Merge refactoring with coregl master