Refactor AsyncTestRunner to not depend on platform; wire up JUnit