call touch[Up|Moved|Down] methods in Zone.touch()

This make touchNAME,touchUpNAME,touchDownNAME,touchMovedNAME, and their
equivalent Impl methods get called with a consistent state.

Tested with all examples, no known regressions
cleanup examples so they all run