Support arrow key navigation in execution model example
Support arrow key navigation in execution model example

This makes the left/right arrow keys navigate between frames, which is a
little easier than clicking on the controls.

The event listener is bound to the entire document rather than to the
canvas, because a) canvases aren’t usually focusable, b) they can be
made focusable by adding a `tabindex` but then they get an ugly blue
border when they’re focused, but mostly c) having to click on the canvas
first is annoying, so it’s better when the arrow keys just always work.

sentient-lang/sentient-lang,sentient-lang/sentient-lang