refactor(boundary event): attachments + layout

Refactored boundary attachment
- attached to sector + relative position now
- rewrote move logic and split it into understandable parts

Added boundary snap
- upon add or move boundary events get snapped to line

Changed model import
- boundary events get imported last

Added tests + test utilities
- added move boundary event tests
- added resize feature tests for boundary re-attach
- added some location utilities, i.e.

     assertThat(someShape).midPoint().isEqualTo(...)

- added resize operations for all sides
- snapping is now properly taken care of in test cases

Added reposition on parent resize
- when parent container (ie. activity) is moved, boundary event gets
  adjusted to new container size. Thereby the attachment coordinates are
  used

Fixes bugs CAM-243, CAM-210, CAM-302, relates to CAM-204