Centralized build configuration
Implements tooling that builds packages according to our conventions.
Significantly reduces redundant/error prone configuration that we previously
replicated for each package.
Uses tsc for validating types and generating type declarations. Uses esbuild
for transpiling. This drastically speeds compilation.
The only external package converted to use the new tooling is matter.js. The
most immediate need is there due to subsequent commits modifying the test
environment.
Intention though is to convert other packages if it works well.