I plan to further update it to a completely iterator based approach and add
archive support (through freebsd's libarchive library).
The old code would have had very bad performance for some archives, as
every file was searched seperately in a directory.
Now, a directory is only scanned once. There also should be no additional
performance cost for the string comparisons, as the old code used roughly the
same amount of string comparisons
Now Skin no longer is a singleton class.
In the long run, Skin will only hold information about a skin, while
SkinManager will be responsible for loading skins and notifying the windows
of the change