Move all the event handling code from Engine to EventHandler. EventHandler has a
reference to Engine and can deal with entities from its methods.
Refactor Action to take an optional Entity in its initializer. Some actions
don't require an Entity, but many do/will.