ev-view: Add pinch/zoom gesture to handle document zooming

This is delegated on a GtkGestureZoom. When triggered, the document
will be zoomed based on the distance changes between both fingers.
When the gesture is not active, regular event handling (text selection,
clicking, etc...) will happen.
ev-view: explicitly require a GtkScrolledWindow as the parent widget

This is implicitly needed in a few places in code, so make the requirement
explicit on ::parent-set.
ev-view: Add pan gesture to switch page

This only applies on non-continuous mode, and the page fits with no
horizontal scrolling. The gesture is actually connected to the parent
GtkScrolledWindow (tracked through hierarchy events), so it is able
to interact with kinetic scrolling gestures there, and cancel those
if the pan gesture is recognized.