Use custom implementation of waf_unit_test.summary that also displays errors.
Introduce interface Backend.
Add mock classes for many backend interfaces and add basic GUI unit tests.