Add an option to let the parser use a constructor.

This lets a parser return an object with a given prototype.

This is more for discussion right now ... What do you think?

I would find this useful for all sorts of things, in conjunction with nested parsers. Like, for example, parsing the MAC addresses from an Ethernet frame where it is useful for them to have a prototype that I can add custom ``toString`` and other functions ....

I don't know if there are issues with how this integrates with other parts of the system yet ... or if there's more flexibility needed.