<!--
Please read the "Making a PR" section of
[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md)
before opening a Pull Request!
* Keep your PR:s small and focused.
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to
`egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for
maintainers to add commits to your PR.
* Remember to run `cargo fmt` and `cargo cranky`.
* Open the PR as a draft until you have self-reviewed it and run
`./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.
Please be patient! I will review your PR, but my time is limited!
-->
Closes <https://github.com/emilk/egui/issues/3474>.
* Allow widget focus change with keyboard arrows
* remove set id function
* docs
* Emilk feedback round 1
* Fix compile error
* undo example
* Move out functions from range to memory.rs
* remove contains range
* Use docstrings
* code cleanup
* Improve candidate logic
* More tweaks
* Less `pub`
---------
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>