Implements consistent beam slopes across line breaks.
This is a mostly an internal reorganization of the beam code that
has several concrete impacts on the way beam slopes are calculated:
* ly:beam::calc-least-squares-positions, ly:beam::calc-slope-damping,
and ly:beam::shift-region-to-valid are now all instance methods of
Beam_scoring_problem and thus no longer open to the users.
* by being internal methods, these functions all use the same information
(x positions of stems, stem infos, etc.) stored in private variables.
* this sharing of information allows for broken beams to share information
between their parts, which leads to the consistent slope calculation
Additionally, ly:beam::quanting, which used to take the arguments of
a grob and a pair of positions, now only takes the grob, as it is
the sole generator of positions. All of the functions in layout-beam.scm
that relied on multiple Scheme callbacks being chained now only use this
function.
To turn on this feature, use \override Beam #'consistent-slope = ##t.