Following on from #2368.
This sets moves the window using the client, rather than the non-client, area. This will make a difference when using some styles. The function has workarounds so it will work with WS_OVERLAPPED, WS_HSCROLL and WS_VSCROLL.
I've tested it with quite a few styles, and in all cases WinGetClientSize returned the same as the input parameters.
$l and $t (left and top) can be set to default to center the window. -1 will move it so that the client is actually at -1, which