FIX: Better prints on event failures

Ready for review. Can be tested e.g. by running an example with `raise RuntimeError` in `on_draw`.

Closes #350.
Note that instead of using the full traceback information, this uses the callback and event pair. This should work decently well. For example, if I add a `raise RuntimeError` in a keypress handler, I do get different callbacks when I press different keys, which is nice.