Changed so user's calls to glfwEnable/Disable(GLFW_MOUSE_CURSOR) override oldMouseLockValid and thus have an effect when window is iconified/inactive.

This is a fix for the following situation. Imagine you have a GLFW app
that hides the cursor normally, but when Esc is pressed, a menu appears
and cursor is made visible. When the user alt-tabs or presses Windows
key, the app loses focus. GLFW makes the cursor temporarily visible. At
this point, the app wants to open its menu and make mouse cursor remain
visible for when window regains focus. Previously, calling
glfwEnable(GLFW_MOUSE_CURSOR) had no effect when the window already
lost focus, since it had no way to reset oldMouseLockValid which would
make the cursor invisible when the window gets focus again.

This patch fixes that by making glfwEnable/Disable(GLFW_MOUSE_CURSOR)
user calls always reset oldMouseLockValid to false, which makes sense
that the old mouse lock is no longer valid if the user tried to change
something.

Note that I've never tried/tested the situation where the cursor is
visible, then somehow made temporarily invisible and
glfwDisable(GLFW_MOUSE_CURSOR) is called... I think it wouldn't do
anything, so maybe there's no point to reset oldMouseLockValid to false
when glfwDisable(GLFW_MOUSE_CURSOR) is called. Or, you might want to
have different logic here.

This first patch is an exact copy of the old code I had which I know
worked, before I make any (blind, since I don't have an easy way to
test this now) changes to it right now to make it more acceptable for
public library.