Integrate preliminary JSIL MonoGame support

This PR integrates basic support for building MonoGame using JSIL. The JSIL configuration produces a working windows MonoGame Framework executable (derived from WindowsGL, right now) that when fed through the JSILc compiler executable will produce a browser version with some minimal framework support.

There are also some minor compatibility changes and the introduction of a few #ifdef JSIL blocks here and there. None of this should affect other platforms so let me know if I made some mistakes.

In particular, I changed some uses of GCHandle and pointers so that they are easier to implement in JavaScript. They should be equivalent, but it would be good to get a review of those (see the 'Replace uses of IntPtr arithmetic' commit and the following one)

I've discussed this with @tomspilman in the past and the goal here is to ensure that future changes to MonoGame will require less manual tweaking and rebasing, and prevent the current MonoGame progress from bitrotting.