Parsing Type Alias

This adds the ability to parse type alias declarations. They look like

    type bar = number;
    type Foo<T> = Bar<T>;