Pass theme list & its entries around by reference rather than copying them.
Fix bug in async icon loading that caused icons to be loaded multiple times.
Original PR by @LiquidFenrir
* make use of the return value for safety
* get rid of warnings
(sizeof(wchar_t) is the same as sizeof(u32), so no problem there)
* dynamic preview loading
fix crash when too many themes have previews available
* fix icon filename
* update pp2d to fix preview problem
* several improvements:
- rely on a single header for simple/common headers
- cleaned up main by putting the interface drawing function in its own file
- load previews from .zip themes (may cause some loading times when launching
- only need 1 shuffle image thanks to pp2d's blending abilities
* not needed anymore
* fix preview color and position
* forgot
* add proper icon loading
thanks steveice10 for bannertool which this was pretty much taken from
* only add proper themes to the list
* add slightly more space between the icon and the name
* not monospace, the little movement every blink is annoying
* fix typo