some apps (notably vlc 4) place a subsurface below the main surface (which is kinda cursed) but we have to accomodate for that
synchronous buffers are read instantly and we can release them, but asynchronous ones have to be locked until they are unref'd from .current to avoid reading from a buffer after .release()
* wayland/core/dmabuf: move to new impl it's the final countdown