Updatable and Conditional EventSystem

Debating whether to have Interfaces such as Conditional and Updatable
and have events implement from what they need. But for now it's all in
entity to keep things simple.

Now handles ongoing events and conditional events. Events can either be
triggered immediately by calling EventSystem.trigger(event) or added to
the event system which will then trigger the event if checkConditions
returns true. New events that are meant to be oned use only should
return true to ensure they are triggered and removed if added to the
system.

Events can access world data through their entity system.

Events no longer need to be instantiated with a reference to the entity
system. When processed by the entity system, the system will link itself
to the event (Hopefully simplifies Python event implementation).

Updated example in TestAIController to show simple application!