TouchPanelState.GetState() garbage

Implement TouchCollection as a fixed size array. 
https://github.com/mono/MonoGame/issues/2876

Garbage free for up to 4 TouchLocations. 
Otherwise the array is copied to TouchLocation[] _collection as before.

We should just add more touch locations to cover the maximum we expect we will encounter and remove `_collection` completely.