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

As a workaround for now we could also strip some properties in the save function. Since the annotation directive is the only path that actually invokes the store we have a place to do this without creating or patching the store implementation. I still think I would rather have the properties elsewhere, but maybe it's okay. Other @hypothesis/committers-h might have other opinions.