Initial commit as separate library.
Same state as in the DwarfSplat game, with addded documentation and namespace changes.