Until now, DynamicText alignment was messy, as there were 3 different
callbacks involved - some of them interacting in a confusing way:
- in define-grobs.scm, X-offset property was initialized to
ly:self-alignment-interface::x-aligned-on-self,
- Dynamic_engraver called set_center_parent on every DynamicText
attached to a note, so that half a NoteHead width was always added
to its X-offset (producing confusing results for example when
user requested dynamics to be left-aligned),
- DynamicTexts living in a Dynamics context used a completely
different offset callback, which aligned them on NoteColumns.
Since aligned_on_parent is now able to correctly align grobs
with PaperColumn parents (issue 3254), we can use it for all
DynamicTexts and have a single interface for the job.
Expected changes in output: DynamicTexts in Dynamics context
aligned to suspended noteheads may be placed up to 1/4 NoteHead
width further to the right. This shouldn't be a problem.