Refactor, let all influece domain searcher, model, processor, TaskUnit, et al, independent of LinearSegment2D (use Segment2D instead)
  - build Segment2DUtils for easing refactoring