Optimized framerate.  First removed middle-man canvas, then converted from time change event to requestAnimationFrame loop.  HUGE improvement.