maximization and work area support

 - full _NET_WM_STATE_MAXIMIZED_HORZ support
 - full _NET_WM_STATE_MAXIMIZED_VERT support
 - additional key functions togglemaxv and togglemaxh
 - corrections to _NET_WORKAREA and per-monitor work areas
 - full _NET_WM_STRUT_PARTIAL support (partial struts
   only affect the work area of the monitors on which they
   appear)
 - better updating of _NET_FRAME_EXTENTS
 - restack when changing _NET_WM_STATE_ABOVE
 - restack when changing _NET_WM_STATE_BELOW
revert change to updateframe from previous commit