Closes https://github.com/ppy/osu/issues/33393.
This is admittedly a half-assed diff. This was apparently "fixed" once
before, eons ago, in https://github.com/ppy/osu/pull/11032, but I'm not
sure whether it regressed, or where, because I don't want to bisect four
years back. (At that time `ControlPointInfo.ControlPointsChanged`
did not exist yet.)
Also there's the part where changes to control points do not undo or
redo (see https://github.com/ppy/osu/issues/31942), but I'm not touching
that *either*, because if I start touching that, then I will get yelled
at for not reviewing the 2.5k line PR that rewrites the entirety of
change handling in editor instead
(https://github.com/ppy/osu/pull/30314). I will attempt to get through
that mental block sometime within the year. Please do not rush me.
The cheap cop-out argument is that hooking this up to `ControlPointInfo`
specifically is probably "more efficient" anyway.