Refactor X11 window and related classes
This rewrites X11Client similar to how XdgShellClient was previously rewritten in the win namespace.
Additionally the decoration infrastructure is improved. Notable a window wrapper class for decorations is added to make them more independent of the Toplevel-inheriting classes.