Cursor incorrectly re-centered, negative window positions reported incorrectly

Using int insted of double helps keep conversion and subtraction a few
lines below accurate. Using double in some cases couse to cursor
"walking" when cursorMode == DISABLED . Tested.

When moving window to another monitor you can get negative values for Y
for example. using LOWORD / HIWORD uses unsigned short so you gets
values 65k+ when moving window above primary monitor.

-------------
I dont know is it posible to select only that commits I need in one Pull request, so I was forced to pull old Parent Window commits too. Just ignore it and consider two new commits. Sorry for troubles.