[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.

> So this will be overridden every time the annotation is updated, which could be annoying when we re-introduce realtime again.

Oh, I get it now. Stopped that in 9d1be4d4ede8ac4b62ea4c26aa2e74370b76381c

> Does it make sense to have this be a directive-wide flag on the view model rather than per-target?

I don't think so. (We would need to aggregate it across targets to gain the per-model value. Much ado for nothing.)