Allow completion frontends to highlight completion strings just in time
This allows completion-pcm--hilit-commonality to be sped up
substantially.
Introduce a new variable completion-lazy-hilit that allows for
completion frontends to opt-in an time-saving optimization by some
completions styles, such as the 'flex' and 'pcm' styles.
The variable must be set by the frontend to a unique value around a
completion attempt/session. See completion-lazy-hilit docstring for
more info.
* lisp/minibuffer.el (completion-lazy-hilit): New variable.
(completion-lazy-hilit): New function.
(completion-pcm--hilit-commonality): Use completion-lazy-hilit.