enum
IPositionSnapProvider
DistancedHitObjectComposer
OsuToolboxComposite
Encapsulated in a way which can allow further extensibility for the right-side area of toolboxes.
While osu!catch also implements a distance snap grid, it doesn't rely on `GetBeatSnapDistanceAt` (unlike osu!), therefore it can't have the "distance spacing" multiplier yet.
Closes #10898.
Fix bindings not correctly being cleaned up in OsuHitObjectComposer