(1.2) Add timeline.undoing

Add an "undoing" property to the timeline object, and make the
setUndo and undoInteraction functions behave as no-ops when this
flag is set. The motivation is the following.

It is sometimes the case that there are two complementary actions
that both need to be called from the timeline – the canonical example
is startAnimation and stopAnimation – where undoing one is equivalent
to calling the other. It is tempting to try to implement this by
adding

   timeline.setUndo(stopAnimation);

to the code of the startAnimation function, and vice versa. Unfortunately
this causes an infinite loop in versions of Talkie prior to 1.2,
because each undo action will drop another onto the undo stack, which
can therefore never be emptied.

With this change, that pattern works as intended. Also of course it
is possible to explicitly detect whether we are undoing from user
code, which may conceivably be useful.