Implementing Multi-Touch Gestures with Touch Groups and Cross Events