Dont use an image surface for the tmp

It may have a incompatible stride and there's no point
in using a cairo surface for this.
diff --git a/cairo-util.c b/cairo-util.c
index 0dfa3ad..1a27046 100644
--- a/cairo-util.c
+++ b/cairo-util.c
@@ -33,7 +33,6 @@
 void
 blur_surface(cairo_surface_t *surface, int margin)
 {
-	cairo_surface_t *tmp;
 	int32_t width, height, stride, x, y, z, w;
 	uint8_t *src, *dst;
 	uint32_t *s, *d, a, p;
@@ -47,8 +46,7 @@
 	stride = cairo_image_surface_get_stride(surface);
 	src = cairo_image_surface_get_data(surface);
 
-	tmp = cairo_image_surface_create(CAIRO_FORMAT_RGB24, width, height);
-	dst = cairo_image_surface_get_data(tmp);
+	dst = malloc(height * stride);
 
 	half = size / 2;
 	a = 0;
@@ -113,5 +111,5 @@
 		}
 	}
 
-	cairo_surface_destroy(tmp);
+	free(dst);
 }