feat(core/EventBus): prevent default action via return false

This commit adds a simple way to prevent an events default action (if
specified). Event listeners may simply return false to set the events
isDefaultPrevented() state to false.

This does not stop an events propagation. However, it changes the return
value of eventBus.fire(....) to false, allowing callers to react to it.

Related to #8
feat(command): add CommandStack#canExecute

This adds the #canExecute method to the commandStack as a straight
forward way for components to figure out if a certain interaction with
the diagram is allowed.

Validation during CommandStack#execute does not take place. Instead
users must call CommandStack#canExecute prior to the actual command
execution to figure out whether the action is allowed.

Related to bpmn-io/bpmn-js#137, #8