Add Android-specific implementations

Parse android headers and generate pinvokes and platform code
Add Bind overrides
ifdef mobile-specific code with MOBILE
ifdef icon-related code out of the mobile profile
Various OpenGL fixes

Implement proper EglConfig selection using a GraphicsMode subclass.
For this, the default GraphicsMode class needs tweaking, since the
default validation for the buffers setting is too strict for Android
(some devices only accept buffers = 0)

Keep the EglSurface and EglDisplay objects in a IWindowInfo public
class implementation so clients can access them if needed, tied to
the android surface.

Fix race condition when the surface gets destroyed while the render
loop is posting render events.

Make sure there's no current context before destroying it, otherwise
it will exhaust the available system contexts.
Implement needed methods in the factory
Make the opengl version selection enum sane
The default GraphicsMode implementation in OpenTK tries to do too much in property getters. It's not a good idea to blindly call initialization methods which will trigger egl calls when there's no guarantee that egl is ready to be used. Only initialize the egl configuration when the Index property is accessed, because that one is the indicator that this GraphicsMode instance is bound to a specific egl config. It would be even nicer if OpenTK was made aware that it's running on a low-resources platform and not try to do everything automatically and recreate objects just because it's easier to pass settings in constructors instead of allowing subclasses to customize behaviour, but alas... </rant>
Move android-specific files out of the OpenTK tree

Includes the changes in commits 472bcd1 and 2cd379 of the 4.0-series
branch
Add OpenTK 0.9
Fix the regression introduced by cb3b9578 (glcube does not rotate)
OpenTK-1.0 fixes

Fix mac/linux installers to include OpenTK-1.0
Fix android gl bindings generation to not barf at some GLvoid* * parameter types
Regenerate android gl bindings
Remove the full OpenGL bindings, they're unnecessary and just add bloat
Expose the OpenTK.Graphics.ES10/11/20.Library const that keeps library name
so user code can pinvoke if they want to
Only set requested color for the EglChooseConfig call if the value is > 0. This allows the user to not set any values and allow the device to return any valid configuration.

This fixes the EglCreateWindowSurface crash in OpenTK apps for those weird devices
that insist on returning invalid configurations if you pass them any color value.
See bugzilla #4644 and assistly case #9692
Fix more OpenTK UnsatisfiedLinkError issues. (re)fixes #4667

The java sources for each different OpenTK dll (OpenTK.dll, OpenTK-1.0.dll)
need to have different package names (duh!)
Don't call EglGetError() twice.

It appears that calling egl.EglGetError() clears the error value, such
that during the second call EGL10.EglSuccess is returned.

(At least that's my vain hope, because, the alternative will involve
pulling out more of my hair...)

For example, consider:
	http://lists.ximian.com/pipermail/monodroid/2012-May/010412.html

	"EglCreateWindowSurface failed with error 12288 (0x3000)"

0x3000 is EGL_SUCCESS. If the first call to egl.EglGetError() actually
returned EGL_SUCCESS, the message would be "EglCreateWindowSurface",
not "EglCreateWindowSurface failed...", so I think this bolsters the
theory that the error is cleared during the first EglGetError() call.
.SetType(SurfaceType.Gpu) has not been needed since SDK 2.0 or newer.…
The AndroidGameView lockups up when Stop is called.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=11921

The call to Wait on the render thread was causing a deadlock
with the SynchronizationContext. As a result the render
thread never exited. The solution is to just allow the
thread to exit normally without waiting and clean up the
CancellationTokenSource once the thread has exited.
Remove all Resource.[dD]esigner.cs files from the tree.
add OpenGL ES 3.0 support
changes for ES 3.0 support
monodroid platform changes