Fix touch handling

A better fix for touch events. Touch handling is still not very robust (eg. a touchend event can contain multiple touchChanged touches, and the touch and pool Ids should be cleaned up from the hashmap).