backends/drm: more changes towards layered rendering
Commit 1: make qpainter also use its own layer class
Commit 2: Introduce DrmDisplayDevice
to unify code paths for lease outputs and normal outputs
Commit 3: Make the layers use DrmDisplayDevice
instead of DrmAbstractOutput
Commit 4: Make DrmPipeline
and DrmGpu
take care of layers, instead of the render backends. This opens the way to have DrmGpu
create layers for overlay planes as well as for tiled and cloned outputs later on
Commit 5: Commit 4 introduced a crash in the destructor of EglGbmLayer
because it requires a context to be current, in order to destroy the shadow buffer. To fix this, the render backends now signal their destruction before it happens and the layers get replaced later on. This is not particularly pretty but can be improved later