Use physical/string equality in hot URL comparison paths
Two small fixes to avoid generic compare_val in html-generate hot paths:
1. Url.is_prefix: try physical equality (==) before structural (=).
URLs for the same path are shared within a page, so == catches
the common case without walking the parent chain.
2. Link.drop_shared_prefix: l1 and l2 are string lists; use
String.equal instead of (=) to avoid generic comparison dispatch.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>