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/shared/cairo-util.c b/shared/cairo-util.c
index 360099e..8b41f41 100644
--- a/shared/cairo-util.c
+++ b/shared/cairo-util.c
@@ -31,7 +31,8 @@
 #include <cairo.h>
 #include "cairo-util.h"
 
-#include "../shared/config-parser.h"
+#include "image-loader.h"
+#include "config-parser.h"
 
 #define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])