scene: Only unwrap client buffer when underlying buffer is held
Client buffers backed by wl_shm is aggressively released, in which case we are not allowed to access it. Locking an already released buffer and later unlocking it will also re-trigger release, confusing clients.
As a quick workaround, guard the unwrap by checking if the buffer is locked, which will be the case for non-wl_shm buffers.
/cc @emersion