MODsuit modules now render on the part they're attached to, that being
first part if required_slots is set, otherwise defaulting to the control
module. Instead of using icon ops and a cache, module masking (used by
armor boosters and insignias) will instead render the module on all
parts, each overlay alpha filtered using the worn piece as the mask. To
do this we also migrate modules to separate_worn_overlays, which fixes
the issue where they'd always get painted the same color as the back
piece, ignoring use_mod_colors's value (which is FALSE by default). So
now modules that inherit MOD's color like armor booster will be painted
accordingly to their piece.
This also means that modules actually layer properly, and don't go ontop
of items that they should be under.
Additionally, whenever gloves or boots overslot an item, the overslotted
item will still render underneath them if they're unsealed. Because it
looks weird when your gloves disappear when you extend your MODsuit
ones.

Look at that hip look, she'd have bare hands and ankles without this PR.
Closes#90370
Fixes a bunch of visual jank that looks weird, and overslotting
displaying overslotted item is just behavior you'd expect normally.
🆑
add: When a MODsuit piece overslots an item, it will now render beneath
that piece as long as its unsealed.
refactor: Refactored how MODsuit modules are rendered, report any bugs
on GitHub!
/🆑
This folder is full of #define statements. They are similar to constants,
but must come before any code that references them, and they do not take up
memory the way constants do.
The values in this folder are NOT options. They are not for hosts to play with.
Some of the values are arbitrary and only need to be different from similar constants;
for example, the genetic mutation numbers in genetics.dm mean nothing, but MUST be distinct.
It is wise not to touch them unless you understand what they do, where they're used,
and most importantly,
how to undo your changes if you screw it up.