Maximize keeping borders
Correctly handle fullscreen windows

When placing a window in fullscreen, where fullscreen means both maximised
horizontally and vertically, remove both the client and parent borders, and
set its position to be the entirety of the screen.

When restoring it, make sure we put back the border widths.