Add the expression package.

The expression package does expression evaluation and will be used
in the mvvm stuff but also made available for other uses.
Support assignation in expressions.
Separate expression parsing and execution.

An expression can now be parsed, then executed in the context of
a given scope so the potentially lengthy parsing of expressions
is separeted from their execution.