Undoing flow editing operations

Switch remembers flow editing operations (including changes to flow element properties) since it was last started, and allows undoing these operations in reverse order.

There is a separate undo stack for each flow.