Switched d3rw.js heatmap to canvas backing

The grid of <svg:rect>'s previously used to render a heatmap has been replaced with a single <svg:image> whose data is taken from a hidden canvas.

So the rendering flow is something like this: grid data => hidden canvas => inline PNG data => SVG image.

This change causes noticeable improvements to heatmap rendering speed and hover smoothness, particularly in the Continuous Markets experiment. The output is identical.