* Makes hoods into a component (#75977)
## About The Pull Request
Refactors the behaviour of "one clothing item deploying another clothing
item" from `/obj/item/clothing/suit/hooded` and makes it into a
component.
This allows you to make hooded items which are not part of that
typepath. It also means you could make (for instance) a hat which can
deploy a pair of sunglasses into the eye slot or a jumpsuit with
deployable clown shoes or something.
I need to pass in an assload of callbacks because we have a bunch of
special hoodies that want to do things when you raise and lower the
hood, but for a normal item you would not need these.
## Why It's Good For The Game
Frees people from the tyrrany of typepaths, mostly.
Plausibly you could use it to do something fun we don't currently do.
## Changelog
Not player facing, hopefully. As long as I did this all right.
* Makes hoods into a component
* [no gbp] Fixes item action buttons
* Update items.dm
* Fix mirror 22129
* Some last minute updates -- comment and small optimization
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>