Changed Engine.cs zu event driven model.

Removed IUserInterface as interface for player and replaced it with a
event model. Also changed constants to enums.