Cleaned up inconcistent window sizing/location that produced "funny" bug...

...s where the window would sometimes not reposition itself properly (and occasionally fix itself later).

Possibly addresses Issue #395

The specific bug this addresses deals with dual monitors of different sizes. The code calculated the window_rect properly, but often wouldn't (re)set the position on monitor changes unless certain events happened in the right order.

For instance: primary monitor located at (0, 1050) secondary at (240,0) -- in English that's vertically stacked with the right edges aligned (so upper left is offset). Window shows up correctly on primary, then move mouse to upper monitor and it shows up on the correct monitor, but still sized for lower (wider) monitor.

Implementation details:
get_final_window_rect() is always called in conjunction with window.resize() and window.move(), but was not consistent. Changed the function to set_... and put window loc/size to comply with DRY.

I would bet you could remove the additional window.move() on line 1135, but I don't know the bug & am not set up to test it.