CODE-010: spot: unify grep/pcre cbs + trigram scan

spot/GREP.c's capo_grep_file_cb and capo_pcre_file_cb share a byte-identical tokenize-and-mark prologue and overall skeleton, and the trigram off-block scan is pasted between CAPO.c and GREP.c (with a manual u64css→seek_runs[] copy on both sides). Factor the shared callback core and the off-block scan; use an abc slice-array copy.

Issues

The two grep callbacks and the trigram off-block scan are each duplicated.

Blockers

None; spot-internal.

Planned

One shared callback core + one off-block scan helper; an abc slice-array copy.