Due to the previous logic not waiting until the spinner had completed,
there could be false negatives as the check runs too early, with a
potential additional bonus spin occurring afterwards.
I believe the [test
failures](https://github.com/ppy/osu/runs/4977283066?check_suite_focus=true)
we're seeing here are due to the implementation of interpolation of the
alpha being frame dependent (in a way that doesn't interact well with
tests). The reason for never hitting the expected value is that the
beatmap ends, causing the cursor to become fully visible again.
It's probably already good-enough for most cases, so let's attempt to
silence these test failures by not checking so precisely for the alpha
value.
We're checking for either 1 or 0 so it's not too important how close it
is to either.
`GameplayBeatmap` has to be used instead of the normal bindable
`Beatmap`, beecause the former uses osu!-specific hitobjects, while
the latter returns convert objects (i.e. `ConvertSlider`s).
Similarly, the mod has to be fetched from the player instead of the
global bindable, as `Player` has its own cloned instance of the mod, to
which the beatmap is applied. The global bindable instance does not have
`FirstObject` set.