we (web engine): Experimental web browser project to understand the limits of Claude

Implement DOM-JS bridge: document object and element access master

Add the bridge between the JS engine and the DOM crate (Phase 11, issue 2 of 8). - DomBridge struct holds shared Document and wrapper identity cache - Vm::attach_document() registers document global with structural properties - document.documentElement, .head, .body, .title properties - document.getElementById, getElementsByTagName, getElementsByClassName - document.querySelector/querySelectorAll (reuses css/style selector matching) - document.createElement, createTextNode factory methods - Element wrappers with tagName, nodeName, nodeType, id, className - Wrapper identity: same NodeId always returns same JS object - NodeId::from_index added to dom crate - Parser::parse_selectors added to css crate - 20 tests covering all acceptance criteria Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>