heatmap: decouple the heatmap legend from main heatmap svg canvas