Make Esprima dependency-injectable.

This lets client code elect to handle more advanced dialects of JavaScript, rather than being stuck with the default version that Recast provides:

    require("recast").run(function(ast, callback) {
        callback(transform(ast));
    }, {
        // Resolved relative to the current module.
        esprima: require("esprima")
    });

Closes #24.