We've seen multiple cases where DrawableHitObject are stuck in the lifetime management container
due to not implementing a judgement (meaning they are never "hit" or "missed"). To avoid this going forward
CreateJudgement() must be implemented and return a non-null judgement.
This fixes BananaShower and JuiceStreams in osu!catch.
This also makes HitObject abstract and cleans up convert HitObject implementations.
Modify TestSceneScrollingHitObjects to contain a test case that serves
as a reproduction for a visual bug in which using the overlapping scroll
algorithm results in an incorrect origin adjustment for lifetime.
To better demonstrate the desired effect of the fix introduced in
193e41f, refactor TestSceneScrollingHitObjects to contain two tests,
one of which contains the pre-existing controls to test scroll
algorithms, and the other aims to showcase the fix by setting scroll
parameters appropriately.