Split WindowBattle into Logic and GUI. Refactor MapBattle.