View: Implement pinch-zoom

The special handling of a moveMoveEvent without a preceeding
mousePressEvent is a workaround for an issue where you won't get
an emulated mousePressEvent for the primary touch after a multitouch
gesture where you release the primary touch before the secondary touch.