Remove unused code
EventThread: Mouse button IDs greater than 'SDL_BUTTON_X2' are possible
MRI-Binding: Reduce number of object allocations

Previously, wrapped instances of mkxp core classes were
stored as RData ivars inside the actual object. This turned
out to be pointless as RData objects themselves are perfectly
valid objects that can carry ivars and have parent classes.
Therefore, the RData objects are now exposed directly to
the user scripts, effectively halving the amount of object
allocations.
Font: Add clone constructor
MRI-Binding: Bind #initialize_copy for clonable classes

This replaces the previously directly bound #clone
methods, which weren't really the "the Ruby way".
Rubys default Object#clone will call into our #init_copy
methods instead.

Partly incorporates pull request #3 by /cremno.
MRI-Binding: Catch exceptions in clone constructors
Bitmap: Ensure cloned bitmap is non-mega
Filesystem: Optimize RGSSAD file enumeration

Finally got around to nuking that ugly pile of shit that was
previously there for PhysFS file enumeration because filepath
cache generation with unencrypted game files + archive + RTP
has started taking around 6 seconds. Thank $DEITY.
Readme: Fix typo
MRI-Binding: Bitmap: Add FIXME
Shader: Fix compile issue (thanks again Mesa!)
TexPool: Rename 'CacheObject' to 'CacheNode'
TexPool: Simplify code
mkxp is licensed under GPLv2 OR LATER
Input: Fix default key bindings
Perftimer: Make GPU query count configurable
Add patch for enabling pkg-config support in SDL_sound
Audio: Replace SFML solution by using OpenAL directly

This is a major change in the Audio module that comes with
many changes throughout the codebase and dependency list.
The main gist is that we're finally nuking the last pieces
of SFML from the project. sfml-audio brought with itself
unneeded and big dependencies (libsndfile, libvorbisenc)
while at the same time limiting the amount of audio formats
mkxp can support (eg. we now get mp3 for free, and wma/midi
can be implemented by extending SDL_sound directly).

The increased control gained by interfacing with OpenAL directly
will also allow for easy integration of a dedicated audio
stretcher (librubberband), as well as enable us to implement
looped ogg vorbis (via the 'LOOPSTART'/'LOOPLENGTH' tags),
as required by RGSS2, in the future.

The FileSystem class has had its SFML parts removed.
Aditionally, audio file extensions to be supplemented are
now automatically detected based on how SDL_sound was
built (ie. if no mp3 support was built, mkxp won't try
to look for *.mp3 files). The final used extension
can be optionally returned by 'openRead' calls so
SDL_sound and SDL2_image can immediately choose the
right decoder.

The OpenAL context is created and destroyed in main.cpp
along side the GL context.
Bitmap: Feed image extension into SDL2_image for faster loading
MRI-Binding: Silence "may be uninitialized" warnings