Visual Gear Overhaul

I ripped out all the random interwoven code for armor equipping,
replacing it with a single DefenseModifier class+equipped comparison
that includes a new Layer system for future content additions - the gear
with the highest layer number will always be the 'outer' gear for that
slot. For example, shirts, pants, and skirts are layer 0, and will
remain underneath layer 1 armor and robes, despite the items using the
same spots on the player's body.

I've made Masks and Helmets layer 0, while Circlets and Ivy Circlets are
layer 1. This allows players to wear both circlet types over helmets and
masks (and they look perfect). That should allow players to wear masks
during combat without sacrificing their all-important circlets. Helmets
and Magic Spirit Helmets are less common and less pvp-vital, and come
with their own -5 spellpower, so it's not a guarantee that players will
want to use them with a circlet (but we might need to balance them
further).

This is all done through RefreshPlayerVisualGear in player.kod, called
by equipped defensemodifiers upon equip and unequip, which refreshes the
proper outer appearance after each equipment change.