Fix sounds not playing after launching a game

Correctly re-initialize SDL_Audio after launching a game.
Added comment to src/ImageIO.h
Add Volume control in Windows and Linux

Add volume control int Windows through the mixer API (until XP) and the
EndpointVolume API (Vista and above). Add volume control in Linux
through ALSA.
Convert AudioManager to use shared_ptrs.
Remove whitespaces from system config lines

to fix errors with files that have different line endings than the
system. Output a line number when something is wrong. This should be
done wherever reading from text files probably.
Check for GCC 4.7 or above

To prevent compilation errors beforehand.
Make master volume controllable via input

Standard mapping is +/- keys. Setting is written to es_input.cfg.
Update README

Update libraries and mention CMake and volume keys
Check for g++, not gcc and fix linking on Raspberry Pi

We actually need g++, not gcc. Also on the Pi the OpenGLES libs where
missing.
Poll joystick / HID devices without SDL on Windows / Linux

Get a list of joysticks / HID devices from the system (scan
"/dev/input/js*" on Linux / use GetRawInputDeviceInfo() on Windows) and
poll again every 5s via a SDL timer. If the list changes SDL can be
re-inited. Atm only a log message is written.
Hide and unhide mouse cursor via SDL on startup

This can also be made permanent by setting the environment variable
SDL_NOMOUSE=1 or 0, e.g. in $home/.bashrc
Fix volume control on Raspian. Correct some log messages

Main/Master volume mixer is called "PCM" on Raspian instead of "Master".
Improve singleton implementation

Still not thread-safe, but a bit better now. Should be made thread-safe
and maybe get converted to a template, if possible.
Fixed a few crashes, better support for higan

Fixed AudioManager/InputManager unsigned vs signed comparison warnings.
Fixed a FolderData sorting crash (I can't believe nobody's reported
this).
Fixed a GuiTheme crash for empty paths.
Added the %ROM_RAW% tag, for the unescaped ROM name - useful for higan
on windows.
SystemData will now add folders that end in EXTENSION as GameDatas, and
not recurse through them.  Also useful for higan.