Create a struct to assert the existence of an OpenGL context.
make GLContext::new unsafe, since it doesn't guarantee a context exists.
fix cstr freeing bug in Shader::get_uniform_location