WIP for issue #57

Here's an initial attempt at making `ast-types` a generalized project for ast building. I basically encapsulated the global state into an object, and pass that object into each of the files via an exported `init()` function.

The def files' api has also changed, now needing an `init()`:

```js
// mydef.js
exports.init = function(types) {
    types.registerDefs("../def/escore");
    var def = types.Type.def;
    def("Foo").bases("Node").build();
};

// main.js
var myast = require("ast-types").init("mydef.js");
```