Replace touch sensitive keyboard api with more detailed api

the 0.9 api would only let you know about general movement of a finger.

this api lets you try to track a number of distinct fingers
- there are four states (roughly start, move, stationary, release)
- an id is only valid from start through release, after release, it is free to be recycled (although there may be multiple releases for an id) -- because of this, you must process all releases, otherwise you may think that there was a jump when in fact it's a different finger
- you must process all touches in the array