Added ModelEventListener, which can be implemented to receive every
action a model is doing
Added WinEventListener, which can be implemented to receive when a
player has lost / won
Changed WinCondition to work event-oriented