Load extension strings using gl::GetStringi rather than gl::GetString

gl::GetString(gl::EXTENSIONS) is not supported in forward compatible contexts, and returns a null pointer (segfault ahoy!)
Add version information querying and logging
Implement fallback for querying extensions when the gl version is < 3.2
Merge pull request #84 from bjz/capabilities

Load extension strings using gl::GetStringi rather than gl::GetString
Added Glfw window context creation with fallbacks.
Made the default one try OpenGl 3.2 core and 2.1, in that order.