EvSidebarThumbnails: switch to using cairo_surface_t for images

To support high resolution thumbnails on hi-dpi displays, we need to
use cairo surfaces instead of using GdkPixbuf for images. In preparation
for high resolution thumbnails, switch over to cairo_surface_t. This
adds a GTK+ 3.10 dependency.

Add new:
ev_document_misc_render_loading_thumbnail_surface()
ev_document_misc_render_thumbnail_surface_with_frame()

To avoid converting surface => pixbuf => surface.

https://bugzilla.gnome.org/show_bug.cgi?id=723431
ev-document-misc: Get the image from the source surface in ev_document_misc_render_thumbnail_frame

When ev_document_misc_render_thumbnail_frame is used to render a
thumbnail with a frame, and not just the frame itself, ignore the passed
in size and use the source surface if present, like we do when using
pixbufs.
libdocument: Add ev_document_get_thumbnail_surface()

To allow backends render thumbnails to a cairo surface instead of a
GdkPixbuf.
pdf: Implement ev_document_get_thumbnail_surface
djvu: Implement ev_document_get_thumbnail_surface
ev-jobs: Add support for rendering thumbnails to a cairo surface with EvJobThumbnail
ev-sidebar-thumbnails: Render thumbnails to a cairo surface instead of using GdkPixbuf

Now that the sidebar model uses cairo surfaces, getting a surface from
the backend we avoid an unnecessary conversion from GdkPixbuf to cairo
surface.