Fixing up my branch.
Added events for KeyUp and KeyDown

The KeyUp and KeyDown methods are very important for low level keyboard
access but in MonoGame the general solution of overriding the view
cannot be done so I expose both as events.
Revert "Added events for KeyUp and KeyDown"

This reverts commit c4f6d7a84a181ce1c8616913f9126639fd15839e.
[MacOS] Added an optional Delegate to GameWindow

Added an optional Delegate to GameWindow to allow custom GameWindow
implementations to be used.
[MacOS] Changed Delegate to CreateWindowDelegate
Fix for WinGL initialising GraphicsCapabilities

Seems that calling `GL.GetInteger(GetPName.MaxTextureSize, out maxTextureSize);` from a static method causes a null reference exception in OpenTK. I've worked around it by caching the _maxTextureSize in Graphics device. I've also move the getting of graphics extensions to their own method and put it in the constructor with other 'GL.GetInteger' calls rather than `Initialise()`
Fixing incorrect using for MONOMAC build
Progress on DXT compression.
Submodule update.
Now works with AnyCPU setting.
Pointing to new ThirdParty/Libs checkout.
Updating references to .dlls.
DXTDataHandler is no longer a public class.
Throwing an exception for platforms that don't yet support texture compression.
Defining WINDOWS for Windows MGCB build.
#ifdefed around SetDLLDirectory until we come up with a solution for other platforms..
Errors now go to stderr.
Fixed missing #if WINDOWS
Added built-in System and Math content type writers.
Reader type is now correctly derived from writer type.
MathHelper - added comments

added comments and added method overload of Clamp
fix new method in mathHelper
Added some tests to check for SDK's before building