Separate internal state from TouchLocation 

SizeOf TouchLocation is now 36bytes from 72bytes.
Reducing the size of TouchLocation has been discussed here
mono#2963
Yea... I don't see how this solves the size issue at all.  They still have to allocate an array of `InternalTouchLocation` which is just as big as ever.