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".
Fix last entry not showing (issue #90)
Merge remote-tracking branch 'upstream/master'
Make sort order changeable via fast-select menu

Use the left/right keys to switch it.
Finally added scrolling description text. :)
You can now mix and match game list detail levels.
Basically, only games that have a gamelist.xml will use the detailed view.
Refactored Font class to use a TextCache for vertex data.
The TextComponent class should start using it soon.
Moved Opacity logic to GuiComponent

Moved Opacity logic from ImageComponent to GuiComponent so any extender
of GuiComponent che implement its opacity logic.

Implemented Opacity logic for TextComponent (now text can have fade
animation)
Merge branch 'master' of https://github.com/leandromacrini/EmulationStation
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.
Merge pull request #92 from leandromacrini/master

Moved Opacity logic to GuiComponent
Changed AnimationComponent to use GuiComponent instead of ImageComponent.
Possible now that the opacity logic has been moved to GuiComponent.
Add size set function to GuiComponent

Similar to #92...
Merge remote-tracking branch 'upstream/master'
Move scrolling out of TextComponent and into a generic
ScrollableContainer.