Instead of extracting item sheets one at a time, it's now done on
multiple threads. Loading gear is now faster since reused files are
cached, switching between races is still wasteful, but it's a good
enough improvement for now.
These parts (inspired by the KDE parts system) will allow the tooling
to reuse GUI mechanisms. Right now the two supported parts are for Excel
and Models, and exdviewer and mdlviewer will be retrofitted to them in
future commits.
The number of lods are now properly loaded from the model data, and race
is checked by checking for the existence of race-specific models (I
think this is the current best way?).
Also, magic_enum is added as a dependency for some enum magic involving
enumerating Race.
Qt5 for macOS can actually use the same code as on Linux/Win, but
apparently no one wants to build it with Vulkan support. Instead, we
spawn a standalone SDL2 window.