Separate touch processing from dispatching

(Re-created to cleanly merge with the latest starling HEAD)

Hey Daniel, here's the pull request with my minor refactor of TouchProcessor. This essentially breaks TouchProcessor into two different classes: TouchProcessor, which creates Touch objects, and TouchDispatcher, which implements a new TouchHandler interface and does the TouchEvent creation and dispatching.

Starling's default behavior and API are unchanged. There's a new property on the Starling class, 'touchHandler', which allows user code to install its own TouchHandler object and perform custom Touch input processing.

I've tested this code against the Starling demos and unit tests.