Refactoring and Ending Battles

Summary:
Battles now end! Added additional states to the battle process to make it
happen gracefully. Will eventually use a similar model to make the splash
screen not be its own render during load.

Refactored controller classes to inherit from a parent Controller class.

Added AutomatedController to handle controls based on state. Currently
handles time management and ended battles based on state. Will also handle
animation controls in the future.

BattleModel received winner attribute, currently None or str.
Will use Model class later when names are added.