Separate user update from user output.
User output needs to be collated and sent after the plot update.
UserState#update -> UserState#input
Send output after introduction.
Cgi::Engine#run always ticks.
Shell#test loads main before test.
Go action returns direction instead of name.
Rearranged order of updates in run_test iterations. Automatic handling of CharacterState::Paused.