fix `string-normalize-nf[k]c' when composed is much smaller then decomposed

For composed normalization, space is initially allocated based on the
decomposed length. The clean up step to avoid wasted space was wrong.
doc clarification

Based on Tobias's text from the PR.

Closes PR 13441
fix log-event propagation in `compiler/cm'
paser-tools: doc clarifications

Nothing in the docs said that `parser-tools/yacc' is for LALR grammars
--- although I guess that it implied for most reader by the name "yacc",
but it doesn't hurt to say so explicitly. Meanwhile,
`parser-tools/cfg-parser' is useful for non-ambigious (non-LALR) grammars.

Also, from the style guide:
 * Section Titles Should be In Titlecase, Like This
 * Don't start a setence with an uncapitalized identifier.
doc clarification on readtable procedures
scribble/latex-properties: add `command-extras'

This style property is a way to add to the Latex output that is
ignored for HTML and other output.
scriblib/figure: overhaul

Clean up the use of styles for alignment and the generated instances
of style names. In the process, remove some padding for HTML output,
and make the rendering more configurable (especially for Latex, based
on suggestions by Keven Tew).

The way that nested flows are generated can be different than before,
so these changes risk breaking some existing uses of `scriblib/figure'.
The changes especially likely break uses of `scriblib/figure' with
output configured through overiding .css/.tex definitions. But
the old pile of styles/macros was inconsistent and broken in various
ways, so hopefully the changes are an improvement overall.