A 3d software renderer for the <canvas> HTML element, in javascript