build: add support for watching/rebuilding test files, and for re-running tests on changes.