move GLFW initialization into init()