Heavily refactored spells into a PlayerMagicManager

Also added mouse wheel event listener to change spells