Refactor output handling
The main motivation behind this change is to make the drm backend multi-purpose. That's it, to make it suitable for implementing all kinds of compositors. At the moment, there's an artificial split between "desktop" and "non-desktop" outputs, i.e. VR headsets, which stands in the way of that and moving the remaining wayland code out of the drm backend for better layering and architecture.
This change adjusts the window management abstractions in kwin for the drm backend providing more than just "desktop" outputs.
Besides that, it has other potential benefits - for example, the Workspace could start managing allocation of the placeholder output by itself, thus leading to some simplifications in the drm backend. Another is that it lets us move wayland code from the drm backend.