mark esprima as an optional dependency and only conditionally load escodegen

Now esprima and escodegen are actually optional.