Moving GL back to 3.x context using GLFW; refactoring lots of code