Started work on virtual machine, which is supposed to replace the need
for pending command state. A new infrastructure, where pending, undo,
and redo are simulated via somewhat traditional primitives paired with
the ability to stop within an execution creating a "continuation".

More specifically, pending command state is to be simulated as follows:

<pending> // an arbitrary primitive command (or sequence), e.g. add
model
<stop> // stops the execution in the current state (stack, instruction
pointer, ...), i.e. a "continuation" is made
<undo> // an arbitrary primitive command (or sequence), e.g. dup,
destroy model, dup, remove model
<stop>
<redo> // an arbitrary primitive command (or sequence), e.g. dup,
restore model
<stop>
<jump -4> // jumps back to undo command(s)

Signed-off-by: Jakob Brandsborg Ehmsen <jakobehmsen.github@gmail.com>