Multi window touch input

This PR contains the touch input changes discussed here: https://github.com/mono/MonoGame/issues/1731

The "state" information from TouchPanel has been moved into a TouchPanelState class. Each GameWindow owns a TouchPanelState object that contains input events for that window.

This only works on the DirectX Dekstop build, as it's currently the only that supports multiple windows.

The API for TouchPanel has remained the same.

To use new TouchPanelStateAPI, you'd do something like the following.

    var touchState = TouchPanel.GetState(_mySecondaryGameWindow);

    while (touchState.IsGestureAvailble)
        ProcessGameGesture(touchState.ReadGesture());


This allows for windows to independently handle touch input. I can only test on a couple of platforms, so let me know if this breaks functionality on another one.