feat(model): implement diagram-js data model

Closes #43
feat(core/Canvas): add remove methods

This commit adds low-level shape + connection remove methods.

Related to bpmn-io/bpmn-js#6
feat(features/modeling): add basic AppendShapeHandler

Related to bpmn-io/bpmn-js#6
chore(core/EventBus): swap callback and priority

BREAKING CHANGE:

* EventBus#on(event, callback, priority) ->
  EventBus#on(event, [priority], callback)
chore(cmd/CommandStack): factor out registration into prototype