Adding a bunch of functions my app needs

Several cairo functions to create an image, draw on it, and save it to a file (plus example of doing that)

Some GTK odds & ends, in particular enough to have a GtkDrawingArea which responds to mouse events

I haven't done the full APIs, just what I've needed so far, and I will probably be needing more (and thus adding more) shortly; sending a pull request now so that you can tell me if I'm doing anything stupid before I do too much work :)

Even though it's incomplete, it would be nice to merge what's there as my GTK patches require the GDK patches, and having them upstream is cleaner than rewriting all the import statements.
Agree.  Please add an error field here and define some exported error variables cooresponding to each possible cairo_status_t.  Switch on the return result and either return the correct variable (nil for CAIRO_STATUS_SUCCESS).  I'm not sure if panicing for OOM is a good idea or not, and whether the OOM error should implement the runtime.Error interface.