Saves having this defined in 20+ places. If we ever make any changes to
shear, it's 100% going to need to be applied to every usage (there will
never be a case of multiple different shears in the game).
Also fixes a mismatching definition in `ShearedNub`.
Fixes issue described in the following comment:
https://github.com/ppy/osu/pull/25759#issuecomment-1855954637
That is just not how the tooltip system is supposed to be used.
To name the individual sins:
- Caching and returning a tooltip instance like the classes that used
tooltips is incorrect. The lifetime of tooltip instances is managed by
the tooltip container. `GetCustomTooltip()` is called by it
exclusively. It should return a fresh instance every time.
- Not putting actual data in `IHasCustomTooltip.TooltipContent` is
wrong.
- Having `Tooltip.SetContent()` be a no-op is *grossly and flagrantly*
wrong.
I'm not even sure which particular combination of the above
transgressions caused the issue as it presented itself, but at this time
I frankly do not care.