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.
The border would previously get brighter after click, but then dim
instantly when the flash layer has fully faded out. The underlying issue
there is https://github.com/ppy/osu-framework/issues/5191, but
`ShearedButton` was placing the flashing layer incorrectly anyway, as
the intent was that it should also apply to the border.