* add basic event module and class
* add post_add member to aid in broadcasting to events that registered late
* add init event
* pass the callback to post_add to allow calling late binders without re-broadcasting to everyone
* add missing print to output the traceback in case of an exception when calling a callback
* catch and print any exception post_add might throw
* call the callback directly in post_add
* insert post_add before broadcasting the event (removes a race between broadcast and late binders)
* use ev.debug instead of gs.debug
* don't debug sel()
* don't pass a list to the default shell...
* fixes #219
* ann