Add new shared/image-loader.h to separate include dependencies

Before, cairo-util.h would combine pixman and cairo includes.  X11 and
Wayland compositors uses this to load an image as a pixman_image_t but are
forced to include cairo headers.  Clients use load_cairo_surface to
load images as cairo_surface_t's, but are forced to include pixman.h.

We move the load_image pixman prototype to its own header, so compositors
can get at the pixman prototype without including cairo.h and clients
can include the cairo based function without including pixman.h.
diff --git a/src/compositor-wayland.c b/src/compositor-wayland.c
index 0a3df03..af493e7 100644
--- a/src/compositor-wayland.c
+++ b/src/compositor-wayland.c
@@ -38,7 +38,7 @@
 
 #include "compositor.h"
 #include "gl-renderer.h"
-#include "../shared/cairo-util.h"
+#include "../shared/image-loader.h"
 
 struct wayland_compositor {
 	struct weston_compositor	 base;