refactor: replace weak-table in lsp document cache (#34776)
## Summary
- Replaces `weak-table` usage in the LSP document cache with small local
`HashMap`-backed weak-key and weak-value caches.
- Removes `weak-table` from the workspace and CLI dependency metadata
and from the resolved dependency graph.
- Preserves document cache identity behavior with `Weak::upgrade` and
pointer-identity checks while pruning stale entries during cache
mutation and cleanup.
## Validation
- `cargo fmt --check`
- `git diff --check`
- `cargo check -p deno --locked`
- `cargo test -p deno --locked lsp::documents`
- `cargo tree -p deno --locked | rg weak-table`
- Baseline and candidate `cargo build -p deno --locked` debug binary
size comparison on the same target
Co-authored-by: Nathan Whitaker <nathan@deno.com>