Made parser pluggable, related to #7

Now lexer instances can be configured, as discused in #7. That allows to add new rules, remove/replace existing ones and so on. This commit preserve compatibility with existing API.

Futher improvements require api change.