Unify implementation of the three zoom methods
Also, feed this correctly from the pinch gesture handler now.