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

It doesn't belong here because it's not a stored property. Updating this annotation will persist the targets' `diffHTML` to the database. I don't want that because it's a property of this particular client's view of the current state of the resource.