Add guard to TouchTracker to avoid unexpected behavior from multitouch gestures

Currently, multitouch (e.g., two finger pinch) gestures trigger 'start', 'update' and 'end' events on the TouchSync. This places a large burden on the developer to parse event data in order to achieve expected behavior. This problem is exacerbated if the developer desires to have both a TouchSync and PinchSync attached to a surface. Take the example of a developer wanting to 'drag' an surface using the TouchSync and to scale it using the PinchSync. Every time the user pinches, both those touches are going to be piped into the TouchSync causing the surface to move in erratic ways. Every developer trying to implement this common case would need to parse the data.identifier in order to adjust for only one touch input. A simpler solution is to only have the TouchSync map to one finger gestures (and if a developer wants to move an item with a two finger gestures they can do so by using the data.center attribute passed through the PinchSync.)

This PR updates TouchTracker to:
1.) Only emit 'start'/'update' events if there is a single touch
2.) Only emit 'end' events if 'start' was previously triggered by a single touch.