Performs an overlay operation using snapping and enhanced precision
to improve the robustness of the result.
This class always uses snapping.
This is less performant than the standard JTS overlay code,
and may even introduce errors which were not present in the original data.
For this reason, this class should only be used
if the standard overlay code fails to produce a correct result.