feat(core/EventBus): log and propagate event handler errors

This commit allows diagram components to listen for the 'error' event
whenever exceptions get thrown during event handling.
feat(core/EventBus): make #on accept multiple events
feat(draw/Renderer): make connections visible
feat(core/Canvas): add ability to skip update
feat(features/modeling): implement append shape
fix(core/ElementFactory): assign id unless present
feat(cmd/CommandStack): add (pre|post)Execute handlers

This commit adds the ability to define preExecute and postExecute
handlers to a command handler. These callbacks are invoked once the
actual command has been executed and may be used to further decorate an
element (or preprocess) it.

The handlers get the context passed.

Closes #44

BREAKING CHANGE:

* The commandStack allows only one command per type to be registered.
This is for simplicity reasons.