SETMOUSE (win32/unix): unify behaviour across platforms
- One mouse coordinate to be changed without affecting the other.
- If only one coordinate value has been provided (i.e. the other one is omitted/&h80000000), the value will be filled in using the current known value for that coordinate.
- As an exception, if that coordinate was offscreen, it will be clipped to inside the window.
- Additionally, in win32 set mouse_on = TRUE, otherwise a GETMOUSE call immediately after may return -1's.
- Clipping solves bug in DOS, where setting the mouse to offscreen coordinates could cause a crash.SETMOUSE (win32/unix): allow one mouse coordinate to be changed without affecting the other.
If only one coordinate value has been provided (i.e. the other one is omitted/negative), the value will be filled in using the current known value for that coordinate.
As an exception, if that coordinate was offscreen, it will be clipped to inside the window.
Additionally, in win32 set mouse_onSETMOUSE (win32/unix): unify behaviour across platforms
- One mouse coordinate to be changed without affecting the other.
- If only one coordinate value has been provided (i.e. the other one is omitted/&h80000000), the value will be filled in using the current known value for that coordinate.
- As an exception, if that coordinate was offscreen, it will be clipped to inside the window.
- Additionally, in win32 set mouse_on = TRUE, otherwise a GETMOUSE call immediately after may return -1's.
- Clipping solves bug in DOS, where setting the mouse to offscreen coordinates could cause a crash. = TRUE, otherwise a GETMOUSE call immediately after may return -1's.
(Untested outside win32)

Conflicts:
	changelog.txt
gfxlib2 Linux fbdev: mouse_on doesn't exist here
gfxlib2 X11: Set mouse_y to y, not x
gfxlib2 DOS: Don't make mouse_cursor update depend on x/y
gfxlib2: Cast 0x80000000 to int in comparisons