Ensure querying keystrokes or actions is safe

This is achieved by moving `available_actions` into `AsyncAppContext` (where
we know no view/window is on the stack) and `keystrokes_for_action` into `LayoutContext`
where we'll fetch the previous frame's ancestors and notify the current view if those
change after we perform a layout.
92183e0d72Antonio Scandurra committed on 5/4/2023, 7:53:31 AMparent040cc4d
9 files changedLine totals unavailable