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.