Implement canvas path API & rasterization (Phase 18) master
- Add PathSegment enum, CanvasPath, and Path2D types in dom/canvas.rs - Implement all path construction methods: beginPath, closePath, moveTo, lineTo, rect, arc, arcTo, bezierCurveTo, quadraticCurveTo, ellipse - Recursive de Casteljau flattening for cubic and quadratic Bézier curves - Arc/ellipse flattening with adaptive step count based on radius - Scanline fill with nonzero winding and even-odd rules - Stroke rasterization via segment quads with joint circles - isPointInPath and isPointInStroke hit testing - SVG path data parser (M, L, H, V, C, Q, S, T, A, Z and relative forms) - Path2D with copy constructor and SVG constructor - JS bindings for all methods; Path2D global constructor via init_canvas_path_api - Unit tests for Bézier flattening, scanline fill, winding number, hit testing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>