Fixes #1778.
+ move duration calculation to not be done twice + made Slider / Spinner private again as they are not accessed externally anymore
some things work and others don't, I dunno
Plus a lot more implementation.
Removes explicit initial state setting in DrawableOsuHitObjects.
Fixes #1462
Fixes #1463.
Fixes #1455
Fixes #1456
Fixes #1458