Detach the HTML reporter

This is the first step needed to set the reporter interface.

There are still a lot of things to do, but I already want to share to allow earlier reviews, because it's necessarily huge.

It's still **WIP**, but **every** single commit is **passing** through the tests.

Btw, the last commit (@7de03f9) is passive of insane memory leak. (fix is coming) 
I don't like the use of the ternary here. It avoids duplication, but is rather difficult to parse, for me anyway. The two options I can think of are adding a toggleClass method and using the more verbose if/else. I don't like those either.