Closes https://github.com/ppy/osu/issues/33748.
I (and tests) can't find any regressions from this. One would hope we
aren't relying on fall-through mouse down anywhere beneath buttons..
This isn't used visually for context menus, but is handy to have when
using this class to convey more general information about actions,
including usages outside of context menus where an icon is relevant to
have.
This also fixes code running in `Update` which shouldn't be, by
consuming the new `NewItemsPresented` callback.
Fields and properties are renamed to knock some sense into things (was
previously called two or three different things).
Keep masking back in `Content`, since the scaling animation is happening
on `Content` instead of `this`. This doesn't regress the intended
behaviour in this PR (which is to just to make the button class itself
sheared instead of its content).
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`.