implement spell stacking
* a spell has a stack_key -> default is the name of the spell
* the stack_count (default 1) determines how many spells with the same key may effect a monster at once

This means a spell can be made to stack n times, or several spells may share a stack key to ensure only
n total of that group are affecting a monster at once

If the stack_count for a stack_key is at maximum and another spell with that key is cast on a monster the
oldest active spell for that key will be removed. (players are free to re-cast spells to refresh the duration essentially)