Fix exception evaluating watch expressions when no stack is present.
Implement setIo functions.

Allow caller to override the IO methods (prompt, visible).
Loosen loop syntax - don't require the identifier to end a loop.

i.e. In:  IM OUTTA YR <loop>, <loop> is optional.
Fix problems dealing with EOLs.

No longer rely on the initial tokenizer to collapse blank lines into a single
EOL; blank lines can be created by the parser when stripping out comments.

Therefore the parser can now handle blank lines fine itself.