Fix windows that are maximized on startup

It seems that setting the xprop on an already maximized window doesn't
actually take effect immediately. By unmaximizing and remaximizing it
after setting the xprop, things work as expected.

This does mean that we can't use Util.spawn any longer, since it doesn't
return any reference to the spawned process. Instead, we mimic what
Util.spawn does internally, but without the extended error handling
(which isn't really needed anyway). This allows registering a completion
handler that remaximizes the window.

Closes: #7