Parsing Type Alias

This adds the ability to parse type alias declarations. They look like

    type bar = number;
    type Foo<T> = Bar<T>;
Don't forget to validate `lookahead.type` -- otherwise you're allowing stuff like

```javascript
"type" foo = bar;
```