Rather than continuing with `ID` or `Id`, this should follow the new
standards and use `OnlineID` instead. Only updating this since it's a
newly introduced class.
Due to equality being based on `ShortName`, it was feasible that the
re-fetch exited early (in bindable shortcutting logic) causing the
ruleset's `OnlineID` to remain `-1` or something equally wrong.
Resolves issue pointed out at
https://github.com/ppy/osu/discussions/17538#discussioncomment-2471746.
Historically, tournament client may have written incorrect `OnlineID`
values. We wanted to use `ShortName` to re-fetch the ruleset. This test
ensures this flow is working correctly.
SixLabors moved their data types around in a recent update (see
https://github.com/ppy/osu-framework/pull/4025) and it was deemed that
we should prefer `System.Drawing` primitives where possible.
This was applied to the tournament client via
https://github.com/ppy/osu/pull/11072 without correct consideration
given to the fact that we serialize these types.
`System.Drawing.Point` serializes into a comma separated string, which
seems to be less correct than what we had, so I've switched back to the
old format for the time being. We can reasses this in the future; the
main goal here is to restore usability to the tournament client.
Closes#11443.