Generate classes based on the mozilla parser api

- now can filter based on types
We should always use super() so we work properly if used as a base class in multiple inheritance.