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.

Should negative index throw an ```ArgumentOutOfRangeException``` too?