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.
Putting all our eggs in the CMake basket.
Updates to README.md

Somewhat better build instructions, links to Windows dependencies.
Added Vector2 class.
Basic GuiComponent refactor complete.
Put ComponentContainer directly in GuiComponent.
Necessary for parenting to allow getOffset(), etc.
Write PROGRAM_VERSION_STRING at start of log.
Component rendering now uses OpenGL translation.
You don't need to take into account offset when rendering anymore.
Refactored ImageComponent to use Vector2.
Added Size and getSize() to GuiComponent.
Added setClipRect and clearClipRect to Renderer.
TextListComponent finally has a marquee. :)
Remove ComponentContainer from CMakeLists.
Re-added input config fix that went missing...
Merge remote-tracking branch 'horstbaerbel/master' into unstable
Fixed a warning.
Refactored Font to use a Vertex struct and Vector2.
Fixed InputConfig error messages dumping to console and not logging.
Fixed skipped inputs being saved.
Fixed XMLReader system path processing.
getHomePath() now uses forward slash as a path separator on all platforms.
Added initial TextComponent.
Reworked GuiGameList to use a TextComponent for description.
Changed set/clearClipRect to push/popClipRect.
Fixed Y coordinate in the clip rect functions.
Sorta fixed AnimationComponent being totally out of whack with VSync off.
Fixed marquee effect staying on when changing systems.
Initial screen transition when switching systems.
Merge remote-tracking branch 'origin/unstable' into unstable