Rewrite game::display_slice to use input context

Made item cursor wrap around end of list work.
Removed inventory::subset as it was used only by inventory_ui and is not needed anymore
Use extended features of input_context in inventory_ui.cpp
inventory_ui enhancements:

Made separate item lists for main inventory and worn/wielded items.
Allow separate scrolling/moving/selecting in both list.
Handle input of invlets before actions to allow the default actions bindings to overlay with invlets
Merge remote-tracking branch 'BevapDin/fix-inventory_ui.cpp' into FrankenMod