Added TypeScript support; Rewrote model in TypeScript; improved build process; added auto-reload feature; fixed a bug in rendering non-custom-addressable shapes.