code: function(callback) {
      var el = fabric.document.createElement('canvas');
  
      el.width = this.getWidth();
      el.height = this.getHeight();
  
      var clone = new fabric.Canvas(el);
      clone.clipTo = this.clipTo;
      if (this.backgroundImage) {
        clone.setBackgroundImage(this.backgroundImage.src, function() {
          clone.renderAll();
          callback && callback(clone);
        });
        clone.backgroundImageOpacity = this.backgroundImageOpacity;
        clone.backgroundImageStretch = this.backgroundImageStretch;
      }
      else {
        callback && callback(clone);
      }
    }
docs: Clones canvas instance without cloning existing data.
  This essentially copies canvas dimensions, clipping properties, etc.
  but leaves data empty (so that you can populate it with your own)
  @method cloneWithoutData
  @param {Object} [callback] Receives cloned instance as a first argument