Change inclusion path of common headers for unit tests

* The tests directory path is now searched for header files, instead
of tests/gui.
Introduce UnitTest class

A simple interface for common functionality that can be re-used aacross
the engine's unit tests.

	ButtonLayoutTest, ListBoxTest:

* Implement interactive tests via command line flag (--interactive, -i);
the unit tests will run in a game loop when flagged -- defaults to
non-interactive.