switch to GLFW because of GLUT's weird bug