Implement Same-Origin Policy enforcement
Add the foundational security primitive for the browser engine:
- Origin::same_origin() with default port normalization (http/80, https/443, ftp/21)
- Origin::serialize() and Display impl for CORS header comparison
- ResourceLoader::fetch_subresource() with SOP enforcement per resource type:
scripts, stylesheets, fonts, and fetch blocked cross-origin without CORS;
images and navigation always allowed
- JS fetch() API SOP enforcement via document origin thread-local
- DomBridge origin field and document.domain property for future iframe isolation
- Updated CSS loader, script loader, and font loader to use SOP-enforcing methods
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>