Merge changes Ic6718a7c,Ie4e6f65e,Iff5e29c7

* changes:
  Don't add something to a hash map and then get it out again immediately if we don't need to.
  Fix the creation of the touchTargets list to match what the iPhone does and maintain compatability with existing apps like SuperPudu.
  Store the originating target for a touch (i.e. calculated in touchstart) in a hash map, so that we can use that originating target as the target for future move/end/cancel events that that touch generates.