* Introduce FileData Filtering for Kiosk and Kid Modes to:
1. In Kiosk mode: Hide items with metadata tag `<hidden>true</hidden>`
2. In Kid mode: only show items with metadata tag `<kidgame>true</kidgame>`
* ES will auto-revert UI mode back to Full when there is nothing at all to show.
* Changing the setting hideQuitMenuOnKidUI to true will hide this menu.
- Refactoring System Environment data
- Added Virtual System Manager class
- Added "all", "favorites" and "last played" systems
- Added GuiInfoPopup class for notifications
- Added Favorites to metadata, as well as a shortcut to toggle favorites
- Added warning if enabling systems but themes don't support it
- Added "filter by favorites" per system
- Adjusted "Go to Random Game" behavior to account for the fact that we now have an "All Games" system
- Added "sort by system name" for the collections
Adds a function to metadata "isDefault()" which will return true if all
metadata is still set to default values and false if any values are not
set to default
When saving, a game that has no metadata would also not be saved in the
gamelist xml. so now it will just ignore looking for that game instead
of looping through every node until it reaches the end of the tree.