Windows: %LOCALAPPDATA%\taisei\cache
Linux and *BSD: $XDG_CACHE_HOME/taisei (xdg basedir spec); usually
~/.cache/taisei
macOS: NSCachesDirectory; probably ~/Library/Caches/taisei
Fallback: $storage/cache (old behavior)
This commit also introduces a more modular and buildsystem-driven
approach to specifying those paths, and makes vfs initialization more
resilient. The game will try to create missing directories recursively,
and will not crash if storage or cache can not be mounted.
Co-authored-by: Alice D <alice@starwitch.productions>