[FEATURE] Expression field (Virtual field)

This adds the possibility to create virtual fields based on an expression.
In contrast to a field calculated with the field calculator such a field is calculated on the fly and will resolve to a different value when data on the underlying feature changes.
Is it necessary to have the expression here?

I would prefer to keep just the origin index from which it is possible to find out the source expression...