[WIP] Testers/formatters refactoring

This is unfinished testers/formatters refactoring. Basically I refactored both testers and formatters to use composition instead of inheritance.

Things to do:

- [ ] Properly output hooks side-effects in pretty output
- [ ] Recreate progress formatter
- [ ] Cleanup code after refactoring