When the debugger reach the point where interaction is required the 'interact'
event is emitted.

The result of iteraction should be the string. If we get undefined values instead
then interaction is stopped.

Then we try to run debugger command if it is not found the zero value is returned
by &run. In this case we just evaluate the string, dump results and continue interaction.

Debugger commands also can return the zero value to fallback into evalutation.
TODO? Should we allow command to modify original string we get from user?
