Extend 'completions-header-format' with a placeholder for the
completions category. Stop hard-coding the 'shadow' face for the
heading line default value, instead define a derived face.
* lisp/minibuffer.el (completions-header-format): Extend.
(completions-heading): New face.
(completion-category): New variable.
(minibuffer-completion-help): Let-bind it.
(display-completion-list): Use it.