[ty] Apply workspace settings to virtual files (#23228)
## Summary
Fixes https://github.com/astral-sh/ty/issues/2783
- Commit `[ty] centralize virtual project fallback`:
- Refactors `Session` to centralize the "first project" virtual fallback
heuristic used by project selection.
- Commit `[ty] apply workspace settings to virtual files`:
- Fixes `DocumentSnapshot` workspace settings resolution for virtual
documents (for example `untitled://...`).
- Ensures virtual documents use the same project owner heuristic as
`project_state`, then resolve workspace settings from that owner.
- Adds an e2e regression test for virtual files with variable-type inlay
hints disabled.
## Test Plan
- `cargo test -p ty_server --test e2e inlay_hints`