Conversion of MonoMacGameView to OpenTK equivalent.

OpenTK for `MONOMAC` platform. Now MacOS is a peer to `WINDOWS` and `LINUX` platforms. Common code for desktop platforms.

I think it's ready for review / testing. RE: #2154.

**NOTES:**

* OpenTK controller mappings can replace SDL on other desktop platforms. Didn't consider that in scope for this PR.
* Media / Video needs some love. I need to compare how the other desktop platforms interface to `GameWindow` and try to emulate.
* Three intentional `#warning DISABLED DURING MONOMAC OPENTK CONVERSION` messages were added.
 * One in `OpenTKGameWindow.cs` to bypass icon extraction from assembly
 * One in `MacOS/GamerServices/Guide.cs` for `Window.ClearKeyCacheState()` which may not be needed now that we're using a different game loop.
 * One in `Media/VideoPlayer.MacOS.cs` for `_game.Window.AddSubview(_currentVideo.MovieView);`. That's the one that need some love.
The existing flow assumes current directory is the directory from which the app was launched. That never seemed to be the case in debugger. Basically, it's saying if the absolute path would work as it will be ultimately generated, allow the relative - even though the relative from current directory may not find file. (i.e. `File.Exists` fails for relative path, but succeeds for generated absolute path)

`MONOMAC` and `IOS` shared a common root of `NSBundle.MainBundle.ResourcePath`, but after making `MONOMAC` a peer to `WINDOWS` and `LINUX`, the new `TitleContainer.Location` is `AppDomain.CurrentDomain.BaseDirectory`.

Marking files with Content build action and Copy If Newer puts them where they should be, and that winds up being where the other desktop platforms would expect it. Unfortunately, in my tests, the current directory was never the application directory.