Fix problem where the gutter won't span to bottom of horizontally scrollable document
Use a less weird construct in createObj helper
Change key handling prototol to allow returning Pass, rather than throwing it

This to make dev tools show useful backtraces when an error is raised
inside a key handler. Once we've caught it, the backtrace is truncated.