We need to copy this list as disposing items in it causes it to be modified.
Merge pull request #2383 from danzel/releaseresources

Fix crash in DisposeAll
Remove unused code from Texture2D.DirectX and do a minor tidy up. Fixes #2306
Tidy up the usings also.
Clamp MediaPlayer volume to [0, 1] range. Fixes #2362
Fix WM_QUIT drain in TestGameBase

According to MSDN, WM_QUIT causes GetMessage to return 0. Checking for
this fixes a hang issue when running the Windows build of MonoGame on
Windows 8.1.
Merge pull request #2388 from thefiddler/win_test_hang

Fix WM_QUIT drain in TestGameBase
Merge pull request #2387 from danzel/fix-2362

Clamp MediaPlayer volume to [0, 1] range
Merge pull request #2386 from danzel/fix-2306

Remove unused code from Texture2D.DirectX and do a minor tidy up
Added OpenGL format and swap interval conversions
Have PresentationParameters ready for SetupGL()

This is required for setting up the OpenGL context attributes.
Moved OpenGL context to GraphicsDevice.OpenGL

MonoGame is not using any of the higher-level facilities of
OpenTK.GameWindow. Conceptually, it makes sense to base MonoGame’s
OpenTKGameWindow on OpenTK.NativeWindow and move the OpenGL context to
GraphicsDevice.OpenGL.

This has two advantages:
1. MonoGame applications no longer initialize OpenGL unnecessarily
before instantiating a GraphicsDevice service.
2. GraphicsDevice.OpenGL has enough information to setup the correct
OpenGL attributes for color, depth and stencil depth, as well as
multisampling. This was not possible before, since the
PresentationParameters are not available when a GameWindow is first
constructed.
PresentationInterval for WindowsGL and Linux

This includes support for adaptive vsync.
Move background context to GraphicsDevice.OpenGL

We should not create a background OpenGL context until the application
adds a GraphicsDevice.
Ignore resize events until init is complete

This fixes a crash on startup related to OpenTKGameWindow.Game being
accessed before it is instantiated.
Make the GameWindow visible in BeforeInitialize

OpenTK.NativeWindow is normally invisible, until explicitly made
visible. GamePlatform.BeforeInitialize() is a reasonable place to do
this.