Add calls to wl_shm_buffer_begin/end_access

This wraps all accesses to an SHM buffer between wl_shm_buffer_begin
and end so that wayland-shm can install a handler for SIGBUS and catch
attempts to pass the compositor a buffer that is too small.
diff --git a/src/pixman-renderer.c b/src/pixman-renderer.c
index a80be5f..b719829 100644
--- a/src/pixman-renderer.c
+++ b/src/pixman-renderer.c
@@ -305,6 +305,9 @@
 	else
 		pixman_image_set_filter(ps->image, PIXMAN_FILTER_NEAREST, NULL, 0);
 
+	if (ps->buffer_ref.buffer)
+		wl_shm_buffer_begin_access(ps->buffer_ref.buffer->shm_buffer);
+
 	pixman_image_composite32(pixman_op,
 				 ps->image, /* src */
 				 NULL /* mask */,
@@ -315,6 +318,9 @@
 				 pixman_image_get_width (po->shadow_image), /* width */
 				 pixman_image_get_height (po->shadow_image) /* height */);
 
+	if (ps->buffer_ref.buffer)
+		wl_shm_buffer_end_access(ps->buffer_ref.buffer->shm_buffer);
+
 	if (pr->repaint_debug)
 		pixman_image_composite32(PIXMAN_OP_OVER,
 					 pr->debug_color, /* src */