Added unit tests for user interface that work with limitations

The unit tests work with the nunit IDE plugin. However, with nunit-console and nunit-gui they
do not work, as Console.SetIn() doesn't work as intended. Instead it's waiting for user input.

The second limitation is that running these tests with nunit will never test the getline-based ui.
This is because nunit doesn't run in a terminal emulator and thus properties like Console.WindowWidth
are 0, so getline.cs isn't usable.

I hope that some of the limitations can be overcome in the future, s.t. more unit tests can be added.