Add new extensions and features

Hello again,
When working on implementing the newer OpenGL functionality, a few ideas popped in my head. They required breaking compatibility with the current version, but since this branch is using a newer GLEW version I just went ahead and realized them.
These are the changed I made:

* Give each GL version and extension its own file
This makes it easy to spot which functionality is implemented. Of course each extension/version needs to be implemented as a whole.

* Expose runtime availability of extensions
Each file containing an extension has a public variable which is initialized by Init(). Speaking about init..

* Init() returns an error
I thought that it would fit Go more than a C-like error code.

* Added a script to quickly implement an extension using GLEW as reference.

* Added extensions:
  *  OpenGL 4.0-4.4
  *  GL_ARB_buffer_storage
  *  GL_ARB_map_buffer_range
  *  GL_ARB_sparse_texture
  *  GL_ARB_sync
  *  GL_EXT_direct_state_access(!)

Hope you like it.