This causes the focal point zooming to not work (as the focal point is
lost). There's no need to handle ongoing changes to
`BeatmapInfo.TimelineZoom` because it is not a property which is changed
at runtime.
It wasn't made to be updated every frame, and it shows. Inaccurate for
reasons I'm not really interested in investigating, because I don't want
to incur the `Transorm` overhead in the first place for an fps counter.
Was only used originally out of convenience.
Had a feeling this would be the case.
Basically, we're calculating on the update thread and checking the last
value of draw thread's `ElapsedFrameTime`. In the case that value is
spiky, a completely incorrect fps can be displayed.
I've left the spike display do use `ElapsedFrameTime`, as
`FramesPerSecond` is too averaged to see spikes.
Carousel would only expire items when off-screen. This meant that for a
case (like a test) where items are generally always on-screen,
`UpdateBeatmapSet` calls would result in panels remaining hidden but not
cleaned up.