[CR] Better construction input

This is based on top of https://github.com/CleverRaven/Cataclysm-DDA/pull/7291 and https://github.com/CleverRaven/Cataclysm-DDA/pull/7350, which isn't merged yet. The only new commit here (that isn't in https://github.com/CleverRaven/Cataclysm-DDA/pull/7291 nor https://github.com/CleverRaven/Cataclysm-DDA/pull/7350) is https://github.com/lucianposton/Cataclysm-DDA/commit/1872c56ba6d19b688f5084064c517b088c9d7b4a

Several interfaces make use of dynamic hotkeys e.g. assigning hotkeys to
inventory items. These dynamic hotkeys can conflict with action keybindings in
the current input_context. To address this, an API is added to input_context
to generate a list of keys suitable for use as dynamic hotkeys.