feat(palette): integrate icons

Related to bpmn-io/bpmn-js#148
chore(dependencies): update karma-bro -> karma-browserify
feat(ElementRegistry): add filter method and align names

This commit cleans up the elementRegistry API and adds a #filter method
that allows users to select drawn elements by a given predicate.

Related to bpmn-io/bpmn-js#153

BREAKING CHANGE:

* The public api has changed:
* #getById, #getByGraphics have been combined to #get
* #getGraphicsByElement was renamed to #getGraphics
feat(drop): add visual indication for dropping

Note: Rule Service was refactored so that components can create their own 'can' implementation.

related bpmn-io/bpmn-js#127
refactoring(rules): move rules from modeling to rules service

See #127
feature(modeling): add array based move commands

- add moveShape()
- add moveConnection()

see bpmn-io/bpmn-js#127
feature(drop): add drop to MoveShapeHandler

TODOs
=====

- The connection remove algorithm is implementation specific and must be refactored and moved to bpmn-js
- Modelers need a way to intercept the move and extend it with custom actions
- Modeler issue shapes can't moved back to 'root'

related:  bpmn-io/bpmn-js#127
feature(drop): diagram implementations can now register handlers to modify the drop behavior
feature(drop): use register pattern for diagram specific rules.

see bpmn-io/bpmn-js#127
fix(testcase): test was skipped due to incorrect syntax
refactoring: separate shapes.move and shapes.move and use shape.move as an internal event while