shm: Add helpers for accessing shm pools
Shm wl_buffer resources can go away while the underlying shm pool is kept alive (for example when a sync subsurface commit is applied after the wl_buffer is destroyed). To access the memory in a SIGBUS-safe manner, a version of wl_shm_buffer_begin_access that acts on a pool is needed.