Emacs 27 introduced a bunch of `window-*-change-functions` hooks,
including `window-selection-change-functions` and
`window-buffer-change-functions`, which handles 98% of the use case for
Doom's `doom-switch-{buffer,window,frame}-hook` hooks, so I've rewritten
them to use them under the hood, which amounts to simpler code and fewer
hacks.
`+hydra/window-nav` uses functions from `hydra-examples.el` but the file
is never loaded. Adding this does not actually define any hydras (this
would require `hydra-examples-verbatim` to be `t`), it just load the
utility functions to make the hydras defined in doom work.