- splits process functions into new cpp files to reduce peak compile memory usage
- drops cairo_renderer_base to match agg_renderer design
- only cairo_ptr is accepted so cairo_surface_ptr must be converted into a context first
- fixes -fvisibility=hidden