Separate test runner from test reporter

Fixes #1