Keep runtime in an Evaluator instead of globals
Use panic/recover to handle eval errors internally
Support explicit caret.
Update comment.
Clear ev.filesToClose after closing files.
Handle eval errors correctly.