add support for background-image to cairo_renderer and refactor into setup function to match agg/grid renderers - closes #1724