Add fillRect(), strokeRect(), clearRect() drawing operations and
fillStyle/strokeStyle/lineWidth/globalAlpha property support to the
Canvas 2D API.
- CSS crate: add parse_color_string() for canvas color parsing (hex,
rgb/rgba, named colors, transparent) with hex digit validation
- DOM crate: add rasterization functions with affine transform support,
source-over alpha blending, axis-aligned fast path, and general
inverse-mapping path for rotated/skewed transforms
- JS crate: wire up fillRect/strokeRect/clearRect native methods,
add property setter interception for fillStyle/strokeStyle/lineWidth/
globalAlpha with spec-compliant validation (invalid colors silently
ignored, non-finite lineWidth rejected)
- Tests: color parsing (12 tests), rectangle rasterization with
transforms and alpha blending (8 tests), JS integration (14 tests)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>