code: function deepCopy(o) {
      var copy = Object.create(null);
      for (var i in o) {
        if (typeof o[i] === "object" && o[i] !== null) {
          copy[i] = deepCopy(o[i]);
        }
        else if (typeof o[i] === "function" && o[i] !== null) {
          // clone function:
          eval(" copy[i] = " +  o[i].toString());
          //copy[i] = o[i].bind(_g);
        }
  
        else
          copy[i] = o[i];
      }
      return copy;
    }
docs: fast deep copy function