function arr_diff(a, b) {
	  var seen = [],
	    diff = [],
	    i;
	  for (i = 0; i < b.length; i++)
	    seen[b[i]] = true;
	  for (i = 0; i < a.length; i++)
	    if (!seen[a[i]])
	      diff.push(a[i]);
	  return diff;
	}
Truncate a string to fit within an SVG text node
	  CSS text-overlow doesn't apply to SVG <= 1.2

	  @author Dan de Havilland (github.com/dandehavilland)
	  @date 2014-12-02