Refactoring: extracted DiagonalUtil

* Extracted DiagonalUtil from MonotonePiecesTriangulation
* DiagonalUtil provides the method split that splits a polygon
  into subpolygons by dividing at a list of specified diagonals