Fabric.js experiment

Thinking `fabric.util.classCreate` was like a `mixin` or `extend` but fails with a loop of `fabric.Object.fabric.util.createClass.callSuper fabric.Circle.fabric.util.createClass.initialize`

HTML

<script src="https://raw.github.com/kangax/fabric.js/gh-pages/dist/all.js"></script>
<canvas id="canvas"  width="200" height="200">
</canvas>

JavaScript

var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');

var data = '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">' +
           '<foreignObject width="100%" height="100%">' +
           '<div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">' +
             '<table border="1"><thead><tr><td colspan="2">Title</td></tr></thead><tbody><tr><td>Id</td><td>char</td></tr></tbody></table>' +
           '</div>' +
           '</foreignObject>' +
           '</svg>';

var DOMURL = window.URL || window.webkitURL || window;

var img = new Image();
var svg = new Blob([data], {type: 'image/svg+xml'});
var url = DOMURL.createObjectURL(svg);

img.onload = function() {
  ctx.drawImage(img, 0, 0);
  DOMURL.revokeObjectURL(url);
}

img.src = url;