#3Expose inner parsers

I think it can allow more flexible uses of the parser if we expose inner parser definitions like tomlDoc, and other smaller lexemes. Using these, a user can extend the parser logic.

For example, (the use I had in mind) one can validate the parsed data on the fly and if something's invalid (say, someone has put int where the app expects a string), throw a nice error with context around location where it happened (not just validation afterwards). One can also report such "errors" in order in which they occur in input.

People could also reuse the code and refine parsers for their own languages based on this.

Would you think it makes sense to export the parsers?

Ivan