Ensure that touch{move,end} listeners are removed.

Previously, if there were globally-active touches remaining, a given
zoom gesture was not ended even if locations0 was empty.  This fixes the
problem by checking to see if locations0 is empty.  If so, the gesture
is ended.