Given a context, function name, and callback function, overwrite it so that it calls
printStackTrace() first with a callback and then runs the rest of the body.

@param {Object} context of execution (e.g. window)
@param {String} functionName to instrument
@param {Function} callback function to call with a stack trace on invocation
function(context, functionName, callback) {
	        context = context || window;
	        var original = context[functionName];
	        context[functionName] = function instrumented() {
	            callback.call(this, printStackTrace().slice(4));
	            return context[functionName]._instrumented.apply(this, arguments);
	        };
	        context[functionName]._instrumented = original;
	    }