Extended heatmap class to display a "smooth" surface instead of discrete rectangles.

This extension works by triangulating all the data points and filling each triangle with a linear gradient that interpolates the values assigned with each vertex.

Triangulation is performed either on a regular grid (Every 'grid_width' vertexes make a row/column) or using Delaunay (In case your data is irregular or you are just too lazy)

Also, if you configure your gradient colors right, and it will create pretty countour lines. E.g.:
   3% - rgb(255,255,255)
  10% - rgb(255,255,255)
  15% - rgb(219,219,219)
  23% - rgb(219,219,219)
  28% - rgb(182,182,182)
  35% - rgb(182,182,182)
  40% - rgb(146,146,146)
  48% - rgb(146,146,146)
  53% - rgb(109,109,109)
  60% - rgb(109,109,109)
  65% - rgb(73,73,73)
  73% - rgb(73,73,73)
  78% - rgb(36,36,36)
  85% - rgb(36,36,36)
  90% - rgb(0,0,0)

An minimal example can be seen here: http://jsfiddle.net/948768ae/2/.
The tool that currently uses it looks like this: http://i.imgur.com/nEOqeb5.png