code: function extendPrototype(vendor, proto, func) {
          proto.prototype[func] = function() {
              var args = slice.call(arguments) || [];
                  args.unshift(this);
  
              return vendor[func].apply(this, args);
          };
      }
docs: Extend the prototype with the vendor function.
  Prepend the "this" value to the beginning of the arguments.
  
  @param {Object} vendor
  @param {Object} proto
  @param {Function} func