Fold most of the KWindowSystem X11 backend into KX11Extras
Instead of having KX11Extras go through the backend system move most of the relevant code into KX11Extras directly. Only the few things that are available on X11 and Wayland remain in the X11 plugin. It then calls KX11Extras where the actual implementation is. Since this changes the behavior of calling KX11Extras on non-X11 platforms add a check to warn and gracefully exit when that happens