differentiator: parser: improve error handling.
differentiator: lexer: introduce concept of "fake lexem sequences".
differentiator: lexer: add support for implicit multiplication between a numeric and a symbol/parenthesis.
differentiator: util-tree: actually allow simplification for variable; do not depend on $SIMPLIFY.

Now the caller may select mode of operation themselves ('-S'/'--simplify' parameter to the CLI),
so no need for an extra trigger.

However, the simplification for variable is in some way broken because the Value nodes now use
rational arithmetic and variables have real values. So do not use this mode in differentiation.
differentiator: main: support higher-order derivatives.