Introduce AbstractPlayer to add extra methods in Hero
Create a game state then only update models to prepare FSM change and
in game history storage
Change target from transition and not anymore on each turn
Update engine interfaces, introduce a ranking model, handle unexpected
end of game due to timeout
Update default FSM to a more defensive game (not more attack for now)
Add defensive transitions based on player ranking
Add a basic fuzzy victory ratio