refactor(agent): pass the volatile reapply its settings as one struct
`reapply_mouse_volatile_in_background` took an `Option` for each setting it
can push, and its one caller repeated the list as
`a.is_some() || b.is_some() || ..` to decide whether to call it at all.
`VolatileMouseSettings { wheel, dpi, smartshift }` names the group and
answers `is_empty()` itself, by comparison with its default, so a setting
added later cannot be left out of the check.
Unchanged: the reapply still resolves the channel once, holds one receiver
lease, and writes every setting sequentially on one thread (#485). A
AprilNEA committed
620a87804da4c1827d628d3f189b40e226f8ff4c
Parent: 04faf44