Removed canvases if necessary.

Previously, canvases were never removed while seeking backwards,
which may mislead the user into thinking that contexts are created
before they actually are. It could also confuse users into thinking
that more contexts are created than in reality. Now, a contexts is
removed if a previous step is sought that lacks the context at
the start of the step.