Add GLFW_CURSOR_HIDDEN for Cocoa windows.
Move Cocoa interfaces up

This should let the implementations know which methods each interface
has.
Update GLFW_CURSOR_HIDDEN to only hide the cursor when in the window

This is probably a little more involved than it needs to be, but Cocoa
has to have cursor hide/unhide calls balanced, so it requires a little
more work than just calling hide/unhide when the window is shown and
such.
Update _glfwPlatformSetCursorPos to avoid deprecated method

It'll still use it when the more recent method is unavailable, but
otherwise it now uses the non-deprecated one. Unfortunately, it takes
a rect instead of a point, so it's not very good looking.
Try to remove unbalanced calls to [NSCursor un/hide]

Mostly an attempt at making the NSCursor issue a non-issue by removing
the need for balanced hide/unhide calls. Should ensure there are no
unbalanced cursor visibility issues by simply letting the delegate
decide when the cursor is hidden.

This assumes the delegate isn't replaced at some point, but that seems
like something most people wouldn't do.