This PR moves `selection` from `State` to `ProjectPanel`.
In async `update_visible_entries`, the `old.selection` copied into
`new_state` was never read or updated. After async completion, we
already either set the new selection (when provided) or keep the current
selection value. So storing `selection` in `State` was redundant.
This simplifies a confusing code path without changing behavior.
Release Notes:
- N/A