Problem: the deferred pass (pass 2) cleared the hunk range and called
`highlight_hunk` with full opts, reapplying line backgrounds, intra-line
diffs, prefix DiffsClear, and per-char prefix highlights that pass 1
already set. This doubled extmark counts on affected lines.
Solution: add `syntax_only` flag to `diffs.HunkOpts`. When set,
`highlight_hunk` skips non-syntax extmarks (line backgrounds, intra-line,
prefix DiffsClear, per-char prefix fg, hide_prefix overlay, conflict
markers). The deferred pass uses `syntax_only = true` and no longer
clears the namespace range, so pass 1's extmarks persist while pass 2
layers treesitter and content DiffsClear on top.