Add menu and type for ASCII-print-goto-programs.

These two functions enable an ASCII-art-and-goto-style of programming
(such as "make your own adventure") that is educational and also easy
for beginners to understand.

type prints raw characters to the screen without extra formatting,
by appending them into the last <PRE> in the body (creating one if
one isn't there).

menu shows a one-shot radio button menu, and can invoke one of
a selection of callbacks as soon as the user clicks.  This
radio button menu has been carefully tested for keyboard
accessibility on IE, Chrome, and FF.

To make a make-your-own adventure, make a function for each "page".
Each function types out the page, and then shows a menu
lists all the possible successor pages (and their functions)
in a map.
Fix type(null) and type(undefined)
Improve autoscrolling.

Change autoscrolling so that when more than a page of text is
printed at once, it doesn't autoscroll past it; the most it
will scroll is to the point where the new text is at the top.
Improve autoscroll, and add tests.
Merge pull request #54 from PencilCode/typeout

Add menu and type for ASCII-print-goto-programs.
Add a "pressed" function to support keyboard polling.

Usage:

if pressed 'A' then write 'the A key is pressed.'
if pressed 'control' then write 'the Control key is pressed.'
write 'All pressed keys: ' + pressed.list().join(',')

It handles chording and resets tracked state when focus is lost.
Remove dead variable reference.

Clean up code in response to code review comments.
Merge pull request #57 from PencilCode/pressed

Add a "pressed" function to support keyboard polling.
Merge branch 'master' into nopanel

* master:
  Remove dead variable reference.
  Add a "pressed" function to support keyboard polling.
  Improve autoscroll, and add tests.
  Improve autoscrolling.
  Fix type(null) and type(undefined)
  Add menu and type for ASCII-print-goto-programs.