wrapped glfw window callbacks