Factor out debounce to generic `debounce()`.
Use a faster substring search if there are no regex chars in the search.
Style updates.
Rejigger predicates some more. Fix issue with broken regexes - fall back to substring.
Dox
Xref madness.
Pass the last part of the predicate regex to the predicate function, not the 2nd.
Refocus the search box when xreffing