function create(obj, mixin) {
        Temp.prototype = obj;
        var temp = new Temp(), prop;

        //Avoid any extra memory hanging around
        Temp.prototype = null;

        if (mixin) {
            for (prop in mixin) {
                if (mixin.hasOwnProperty(prop) && !temp.hasOwnProperty(prop)) {
                    temp[prop] = mixin[prop];
                }
            }
        }

        return temp; // Object
    }
Tries converting a JS object to a string. This will likely suck, and
is tailored to the type of config expected in a loader config call.
So, hasOwnProperty fields, strings, numbers, arrays and functions,
no weird recursively referenced stuff.
@param  {Object} obj        the object to convert
@param  {Object} options    options object with the following values:
        {String} indent     the indentation to use for each level
        {String} lineReturn the type of line return to use
        {outDentRegExp} outDentRegExp the regexp to use to outdent functions
        {String} quote      the quote type to use, ' or ". Optional. Default is "
@param  {String} totalIndent the total indent to print for this level
@return {String}            a string representation of the object.