Issue 2245: always align dynamics and lyrics on "main" notehead
Until now, LyricTexts and DynamicTexts had their X-parents set to
the first NoteHead in the NoteColumn. This resulted in inconsistent
alignment - placement of lyrics and dynamics depended on the order
of notes in the input:
% this was aligned differently
{ <f' g'>1\p <g' f'>\p }
\addlyrics { la la }
By using NoteColumns themselves as the X-parents, we make sure that
the input order won't matter. Since the NoteColumn contains all NoteHeads
(including suspended ones, which usually should be ignored when aligning),
as well as Flags and some other objects, we cannot use its X-extent directly -
instead, we add a function for calculating X-extent of the "main" part of the
NoteColumn, i.e. X-extent of the non-suspended NoteHeads (represented by the
NoteHead furthest away from the stem).