Remove support for version previous 3.14

We are accumulating cruft, and most of the code is unsteable by now. Gnome team keep thing randomly, like changing org.gnome.shell.overrides button-layout into org.gnome.desktop.wm.preferences button-layout and the most graceful transition path is obviously to crash and restart the whole UI. This change being necessary, having to way to know when the change took place (one must note that the definition or not of the key is not useful, as it won't give you which one is used) I think the only reasonable path forward it simply to reboot this extention and drop support for old versions.
Remaximizing window after setting title bar to hide when maximized so we don't have bugs on apps that start maximized
Do not show button when window is not decorated.
Reenable 3.12
Refactor decoration.js so it save the original state of the window as an X property before altering it. This allow pixel-saver to handle much better gnome-shell restart and being enabled/disabled.
Really fix windows that are maximized on startup

It seems that setting the xprop on an already maximized window doesn't
actually take effect immediately.
71faafb1ec6e90935e1771532c8bb0962240abb0 tries to fix this by
remaximizing these windows after calling xprop to force a redraw.
It seems that on at least some systems this doesn't work because:
 - Util.MAXIMIZED isn't defined (tested on 3.12)
 - Util.spawn runs xprop in the background, so it the property might not
   have been set when the maximize runs
 - Just maximizing isn't (always?) sufficient, the window must be
   unmaximized first.

This commit fixes all three problems. 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