refactor(agent): Separate event handlers from Agent
refactor(agent): Rename agent.EventListener to EventHandler
refactor(engine): Separate EventHandler from engine.Engine
refactor(engine): Drop nil-implemented event handlers
refactor(engine): Move capability code from event.go to engine.go