Generate classes based on the mozilla parser api

- now can filter based on types
In general, it's better to use tuple unpacks in the arg list. Then I don't have to keep referring back up the grammar to figure out what the nth child of `start` is (`children[n]`).