refactor: generate schema code in `build.rs`
Instead of in javascript.
The the riven_autogen cfg option (for rustc) enables the build script. If unset, the build script is not even compiled, which ensures fast builds when Riven is used as a dependency. If set, the build script will be compiled but the actual behavior depends on the RIVEN_AUTOGEN_DEVMODE environment variable. If unset or set to "outdir" will generating files to OUT_DIR to be used by Riven (instead of the checked-in src files). If set to "src", the build script will overwrite the files in src directly (this is what ./autogen_src.bash does). If set to "none", the build script will be built but will not generate any files.
The build script will not generally re-run after the initial build, unless the RIVEN_AUTOGEN_NONCE environment variable changes, or something else in the build configuration changes. For example, setting RIVEN_AUTOGEN_NONCE to the current date will trigger an update once a day, assuming the build configuration otherwise doesn't change:
RUSTFLAGS="--cfg riven_autogen" RIVEN_AUTOGEN_NONCE="$(date +%Y-%m-%d)" cargo build