Platform preferences
Update: we decided to radically simplify the design and only have one page.
Heavily WIP:
* [x] General:
* [x] Use `GSettings` to store cores
* [ ] Platforms:
* [x] Add a platform register
* [ ] Implement platform state
* [ ] Add platform pages to preferences UI:
* [x] Add custom sidebar to preferences (shared with !155, updated to support separators)
* [x] Add dummy platform page
* [x] Populate sidebar with platform pages
* [x] Remove Plugins page
* [ ] Libretro:
* [x] Add a `RetroPlatform`
* [x] List cores
* [ ] List firmwares
* [x] Add a way to choose core
* [ ] Add a firmware installer
* [ ] Add generic libretro page. Plugins should be able to reuse cores and firmware part, but add their own preferences
* [ ] Plugins:
* [x] ~~Add a way for plugins to use `GSettings`~~ — !214 has an example
* [ ] Add desktop page
* [ ] Add Steam page (???)
* [ ] Add standalone libretro page (???)
* [ ] ~~Add LÖVE page (???)
Fixes, but not quite, #22 (closed)
Edited by Alice Mikhaylenko