diff-hl-mode: defer diff-hl-update until diff-hl-mode-on-hook

...in the best case.
diff-hl-margin-mode: use buffer-local minor mode

Fixes #23