Size windows before positioning them.

By sizing first we can tell where the window needs to be positioned (i.e., if
the position needs to be modified to make the focused window be on screen). This
prevents flickering that would occur when we would position the focused window
off screen, check to see if it was off screen, and then move it back on
screen. Now we size it, check if it _would_ be off screen, and position it
appropriately.

Closes #101