glfw::window: fixed ctors and move assignment: when we take over a GLFWwindow* we must also put ourselves into its user pointer.
fixed glfw::window::set_glfw_window: must of course only call glfwSetWindowUserPointer if we didn't get a null reference.