Use downcasting instead for accessing worktree-specific state of the Files. This will allow us to introduce a WorktreeId type and use that everywhere for identifying worktrees. It also just removes some unnecessary coupling between the language crate and the worktree.