[WIP] Resurrect the removed visual diff support

This does what it used to do.
Probably brings back the same concerns which caused it's removal in the past
 - whatever those were.

( @tilgovi ? )

What is missing is the stying of the removed and added parts. (It used to be pasten green and ping bg, but you can get creative on that.

Feedback welcome.

What's the point of setting `hasDiff` on the individual targets, when the only thing we want to use this flag is showing or hiding the `show diff` checkbox, which is handled on an annotation level, and not on a per-target level?