scene: unwrap wlr_client_buffer for direct scan-out
Passing the wlr_client_buffer directly has a downsides because a fresh wlr_buffer pointer is passed each output commit instead of cycling through existing wlr_buffer objects:
- The FDs are re-imported each time in the backend.
- Any import failure is logged every output commit 1.
- The Wayland backend cannot handle import failures without roundtripping each output commit 2.
Instead, extract the source buffer from the wlr_client_buffer and pass that to the backend.