GLFWwindow is now predeclared to move glfw headers out of public headers