* Adds esbuild as a bundler.
* Adds Dockerfile for deterministic building of the bundle.
Important Note:
The failing groth16 test fails on upstream, which means it is failing on the version used in Tornado Classic UI.
This is unfortunate, but if it is a critical bug at least it isn't an escalation compared to current state of things.
* Browserify is incredibly high dependency count, so it was removed (esbuild will be added in future commit).
* NodeJS now comes with built-in support for testing, so mocha and chai are no longer required, removing most dependencies from this project.
* eslint isn't necessary for an unmaintained project, and can be used on a per-developer basis.
* package is only used to get version, which is useless and an unnecessary security risk.
* yargs brings in 16 dependencies and can be replaced with minimist which is just 1.
* normalized transitive dependencies of big-integer to all the same version.
These changes get us down to 5 dependencies total, with only one being relevant at runtime.
Also removes usage of `assert` and `Buffer`, which are NodeJS things.
Fixes a minor bug in `stringifybigint` that was incorrectly checking if something was a native `bigint`.