Introduce property-defaults output def variable
The goal behind this change is to allow turning the fonts
output def
variable into a property, in order to make it settable per-grob. In the
current state, that would require the user to specify music fonts twice,
once in font-defaults (for glyph lookup with ly:grob-default-font) and
once in text-font-defaults (for markups).
The distinction between those two was already fuzzy since alteration-glyph-name-alist was already put in font-defaults in spite of being read in markups.
This commit unifies font-defaults and text-font-defaults into a single variable property-defaults. This is a more general system. property-defaults is not just read when building alist chains, but appended to the grob definition altogether. An example application is
\paper {
property-defaults.color = "red"
}
Some residual alists defining font-encoding and font-family are still needed; they will hopefully be obviated soon.