msurguy / cavalier-contours-js 2D polyline offsetting and boolean operations with arc segment (bulge) support