More unified SetMouse behaviour:
- Only change mouse coordinates if x>=0 or y>=0 (and if window is focused in unix)
- If either coordinate is < 0 (which it will be if omitted), set it to its previous value
- Clip both coordinates to screen size
(Untested outside win32 at present)