Multiple Parsers Refactor

Summary
- multiple parsers support
- configure which features to use
- `serialize_closure` function
- Lots of things moved around, renamed, etc.