An experiment with HTML5 canvas.