A port of Jacob Seidelin's raycaster from HTML DOM to HTML5 canvas with performance enhancements.