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!), so we need to use `gl::GetStringi` instead.

Also added some logging of the gl version info.