This avoids storing state related to wlr_output_state in temporary
field in wlr_drm_layer. That way we don't need to be careful we
cleaning up, drm_connector_state_finish() will release pending
buffers.
Add a src_box state field. Use the SRC_* KMS props in the DRM
backend, reject the layers in the Wayland backend (for now, we can
support it later via viewporter).
This allows callers to set a destination size different from the
buffer size to scale them.
The DRM backend supports this. The Wayland backend doesn't yet
(we'd need to wire up viewporter).