Wayland support

Based on the original port to Wayland by: Joel Teichroeb, Benjamin Franzke, Scott Moreau, et al.

Additional changes in this commit, done by me:

* Wayland uses the common EGL framework
* EGL can now create a desktop OpenGL context
* testgl2 loads GL functions dynamically, no need to link to libGL anymore
* Assorted fixes to the Wayland backend

Tested on the Weston Compositor (v1.0.5) that ships with Ubuntu 13.10,
running Weston under X. Tests ran: testrendercopyex (all backends), testgl2, testgles2,testintersections
Enable ccache for Raspberry Pi buildbot script.
[Android] Define SDL_VIDEO_OPENGL_ES2
Explicitly initialize COM with multi-threaded support.
This is the safest option for applications that use COM, multi-threaded or not.
Added support for double-clicks, through a new "clicks" field in the mouse button event.
Generate SDL_CONTROLLERDEVICEADDED events for controllers connected at startup
Changed testgamecontroller to wait for controllers to be reattached, the way testjoystick does.
Print events with SDL_Log() so they show up in Visual Studio debug output
Added some joystick and controller events to the set that are printed out.
Fixed float to int conversion warning, which was a legitimate bug.
Added a relative mouse mode that uses mouse warping instead of raw input.
To enable this, set the environment variable SDL_MOUSE_RELATIVE_MODE_WARP to "1"

When mouse relative mode is disabled, put the cursor back where the application expects it to be, instead of where it was when relative mode was enabled.
Setting the mouse in relative mode implies grabbing the mouse.
This fixes getting mouse button events in raw input relative mode on X11.
Fixed missing return warning in test program source.
Fixed implicit declaration of SDL_Log() warning in joystick source for Android.
Fixed unused local variable warning in joystick source for Android.
Fixed missing @Override annotation warning in source for Android.
Fixed unused local variable warning in test program source.
Fixed access of command line arguments on Android in two test programs.
Updated paths in README for Android.
Fixed pointer from integer warning and bug if compiled without EGL.
Changed return -1 after SDL_SetError() to return SDL_SetError().