Also rewrite how we handle tags. Now we can use tags everywhere we want!. I also decided to make the json assets pretty printed which is so much easier to debug, The decision was made because of the reason that we are moving to compile time assets, so pretty printing does not affect performance
* add density function parser, re-write functionality, and add initial tests
* add more tests and fix typo
* re-work density interpolator
* re-work flat cache
* re-work the rest of the chunk specific density functions
* re-work fill functions
* tweak sample logic and do some refactoring
* convert chunk noise to use new density functions
* work on porting proto chunk
* port proto chunk
* add cell cache test
* fix wrapper functions
* remove test print
* update benchmark
* rework again
* rework again pt 2
* classic off by one
* reduce components on the stack by 60x
* aquifer tweaks
* add multi noise sampler for biome sampling