AnimationHistory provides a history of animation commands, and a undo and
redo facility. It is to be used as a wrapper around a GraphDisplay and it
will happily dispatch all calls to GraphDisplay.
Animation commands for which undo/redo is provided, have to be methods of
If AnimationHistory.auto_print is true, textual representations of animation
commands are written to stdout to allow regression testing of animations.