Hopefully closes https://github.com/ppy/osu/issues/28284.
As far as I can tell this is a somewhat difficult one to reproduce
because it relies on a specific set of circumstances (at least the
reproduction case that I found does). The reset to frame 0 would
previously be called explicitly when `isHitting` changed:
182ca145c7/osu.Game.Rulesets.Mania/Skinning/Legacy/LegacyBodyPiece.cs (L144)
However, it can be the case that `bodyAnimation` is not loaded at the
point of this call. This is significant because
`SkinnableTextureAnimation` contains this logic:
182ca145c7/osu.Game/Skinning/LegacySkinExtensions.cs (L192-L211)
which cannot be moved any earlier (because any earlier the `Clock` may
no longer be correct), and also causes the animation to be seeked
forward while it is stopped.
I can't figure out a decent way to layer this otherwise (by scheduling
or whatever), so this commit is just applying the nuclear option of just
seeking back to frame 0 on every update frame in which the body piece is
not being hit.