Add functions for writing data to gamelist.xml

Also add a "rating" and "timePlayed" variable to GameData. Some cleanup
in GameData and FolderData. Added sorting functions for rating and
timesPlayed to FolderData. Testing and UI support still tbd.
Convert rating to float. Fix reading of timesPlayed.

http://thegamesdb.net API seems to use a float. Fix a but where the
times played was read into the rating member.
Add user rating and last time played to game data

That should be about it...
Support sorting of game list via input

You can now map the functions "sortordernext" and "sortorderprevious" to
inputs (in es_input.cfg) and toggle the game list sort order with them.
The order is: "file name, ascending" (default), "file name, descending",
"rating ascending", "rating descending", "user rating ascending", "user
rating descending", "time played ascending", "times played descending",
"last played time ascending", "last played time descending".
Merge remote-tracking branch 'upstream/master'
Make sort order changeable via fast-select menu

Use the left/right keys to switch it.
Merge remote-tracking branch 'upstream/master'

had to hand-merge GuiGameList.cpp
Merge 94e32f198bfb902ea9ef4c2b24a500902884d410 from unstable branch top master

Had to hand-merge GuiGameList.cpp again :/
Read/Write sort order to settings

Not written to disk atm.
Add size set function to GuiComponent

Similar to #92...
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'horstbaerbel/master'

Conflicts:
	src/components/GuiGameList.cpp
Remove red test background on ScrollableContainer
Use path.generic_string() for game paths.
Should now only use forward slashes, regardless of platform.