Enable GUI tests with TravisCI

Added test_gui.py with a simple integration test that tests whether
the history window can be hidden and shown by clicking through the
main window menus. This is achieved using the normal unit test
framework combined with Qt's QTest class.

To support such integration testing a SettingsMock was introduced
so we don't actually write or load configuration data from the system
when testing.

Also extended Travis configuration to run the unit tests with the help of
a virtual xvfb frame-buffer that should enable the GUI integration tests
to run on the headless Travis CI boxes.

Fixes #21