code: function(src, dest){
      var i, v, result = dest || {};
  
      for (i in src) {
        v = src[i];
        if (v && typeof(v) === 'object') {
          if (v.constructor === Array) {
            result[i] = this._.clone(v);
          } else if (v.constructor !== RegExp && !this._.isElement(v)) {
            result[i] = Flotr.merge(v, (dest ? dest[i] : undefined));
          } else {
            result[i] = v;
          }
        } else {
          result[i] = v;
        }
      }
  
      return result;
    }
docs: Recursively merges two objects.
  @param {Object} src - source object (likely the object with the least properties)
  @param {Object} dest - destination object (optional, object with the most properties)
  @return {Object} recursively merged Object
  @TODO See if we can't remove this.