* Uses a hierarchy of WeaponClasses -> Weapons for performing attacks,
with WeaponClass having a set of styles and associated Attacks for
those styles. Weapons and their classes are built with an easy to use
and clean DSL.
* Adds a BonusContainer mixin, so that Equipment, Weapons, and
WeaponClasses can all have their own set of bonuses which apply to the
player.
* Allows attacks to be queued to the Mobs CombatState instance from
external code, allowing e.g., NPCs or auto-cast to queue attacks to be
executed.