Smooth zooming

The patch implements this feature http://bugs.pwmt.org/issue374

So the user gets instant preview during zooming, which is replaced by high quality one when the user stops at a desired zoom level. This is good for fast zooming and window resizing with fit-width.

I tested various ways of zooming and rotating, with poppler and mupdf. It seems fine. Please review for code correctness.
Could you make the implicit encoding of what should happen in the value of surface into an explicit flag passed to zathura_page_widget_update_surface? Say, add a bool keep_thumbnail with surface = NULL, keep_thumbnail = false called when clearing from the cache and surface = NULL, keep_thumbnail = true when zooming.