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

An minimal example can be seen here: http://jsfiddle.net/948768ae/2/

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 somewhat irregular or you are just too lazy to think about it)

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)