Support Chrome's touch event implementation

Chrome starts its touch event identifiers at zero and reuses identifiers which is unusual. We no longer to an implicit boolean test on the touch event identifier to see if we're tracking anything and now work on Chrome.
Test top-left against top-left, not center point.

This fixes an issue where letters would drop into the wrong home. Either we have to use the top-left point of homes and letters consistently, or use the centerpoint. The top-left point is cheaper to compute, so that's what we now use everywhere.