Huge commit, read full message

Removed GLFW3, it's now a build configuration.
Implemented both core and compatibility versions.
Removed unnecessary delegates (still lots of work to do here).
Removed unnecessary enums (lost of work to do here as well).