Add polygon operations along with tests

- Implemented and tested Polygon Intersection, Union, and Difference.
- Add DestructiveUnion() and DestructiveUnionSloppy()
- Add BoundaryNear() to Polygon
- Test polygon containment and disjoint polygons
- Add setters to PolygonBuilderOptions
- Add Polygon-Polyline intersection tests