Effects improvements

- Formats speed bonuses properly for item set tooltips
- Reduce the number of parameters for `EffectManager::addEffect()` by passing a reference to an `EffectDef`.
- 965bfed: Replace "additive" property with "can_stack". If this variable is false when trying to add a new effect, we now simply remove identical effects and add the new one. This is much more simple than trying to modify existing effects in-place.
- Shield effects can be stacked now. Damage is dealt to the oldest shield first.