Build with SDL 2 by default, but still support SDL 1.2

Closes #1064

Changes:
- SDL 2 libraries/headers are searched for in CMakeLists.txt
- getJoystickName() and getKeyName() added to InputState
- Copied over SDL_VERSION_ATLEAST statements from previous SDL 2 work
- Reset FULLSCREEN, HWSURFACE, and DOUBLEBUF when resolution changing
fails in GameStateResolution
- Wrap the appropriate code in SDLRenderDevice with SDL_VERSION_ATLEAST
Add RenderDeviceList for picking render backends at runtime
Move setSDL_RGBA() to private SDLRenderDevice function

This function could be part of the RenderDevice class, but I'm pretty
sure only the SDLRenderDevice makes use of it. Either way, it can't have
it's current scope in RenderDevice.h, as it will cause problems when
compiling with multiple RenderDevices enabled.
Merge pull request #1071 from dorkster/sdl2

Allow building with SDL 2 and create RenderDeviceList
Merge remote-tracking branch 'mainline/master'

Conflicts:
	CMakeLists.txt