WIP: Adding SAX-style callbacks to the Surface renderer

I need to extend CairoSVG so that, in addition to rendering PDFs, I can use it to calculate the positions of various rendered elements.

If you're interested in merging these changes back into mainline, let me know and we can figure out some of the details.