x11: Merge Unmanaged into X11Window
Currently, managed and override-redirect windows are split in two types: X11Window and Unmanaged. While looking at it strictly from type perspective, this is great. But it creates other problems, e.g. we need to put shared X11-specific code in the base Window class or mess with "base" classes.
As an alternative solution, this change merges the Unmanaged class into the X11Window class and disables some functionality based on the value of isUnmanaged().
X11Window::manage() is used to create a managed Window. X11Window::track() is used to create an unmanaged Window.
Note there are still some parts in Workspace that preserve the old separation between X11Window and Unmanaged, I kept it for now mainly to keep the amount of changes at reasonable amount.
There's some potential for more cleanups, but I would prefer to do it in followup MRs.