Add Spell.reactivate

This is starting to feel a little hacky, maybe a separate interface for
ControlledSpell or something .. this isn't really part of the API
anymore, so much as what you have to implement to make a custom Spell
from scratch.