Track test coverage

This is semi-broken: first use of @coverage-decorated function switches
off the coverage.py tracing hook.