Make a single script that handles staged as well as end-2-end generation of assets This will allow there to be 4 components: * parsing (common) * user interaction for parsing, gen, compilation. This will also be hopefully common * library-dependent (eg: pybind11) * generation * compilation Split off from #11 This involves creating a separate script, addressing the issue with `compile_database_path` and adding a simple cmake generator