Rewrote the rendering to use three.js and to just be a lot neater in general.