Handle multi-fields more lazily

If we have to reanalyze each match for highlighting then do so lazily and
one at a time.  Should be much better then doing one after another and
recording the output because it doesn't have to record the output.