feat(move): implement move feature

This commit adds a move feature for shapes. We fire low level
drag events <shape.drag.(start,move,end,over,out)> and build
move events <shape.move> + <shape.move.(start,end,over,out)> on top of
it.

Extensions may suppress move over/out by silencing the respective
events.

Other changes:

* util/EventEmitter gone
* features/move/DragSupport added
* core/ElementRegistry refactored to use prototype

Related to bpmn-io/bpmn-js#2
feat(move): add visual grab indication
impr(move): move only currently selected shape