use input_context in set_stats (new character stats selection screen).

Add color for keys (light green as it is used elsewhere).
Move the drawing inside the loop and added a werase call in case the keybindings have changed.
Use input_context in set_traits (char gen trait selection screen)

Some keybindings have been removed/changed:
TAB goes to the next tab instead of switching between good traits / bad traits.
Selecting a trait uses CONFIRM which is only bound to ENTER, space and '5' don't work anymore.
Use input_context in set_profession (char gen, profession selection screen)

keybinding for change gender (TAB) conflicts with the NEXT_TAB action, but as CHANGE_GENDER is registered before NEXT_TAB the input context will triggers the first action that matches the input. So a TAB will trigger CHANGE_GENDER and not NEXT_TAB.
use input_context in set_description (char gen last dialog)
Use input_context in set_skills (char gen skill dialog)
Moved top speed to display alongside safe speed in a Safe/Top format.
Added used/total cargo volume display.
Minor tweak.
use input context in player::sort_armor
Add check for multiple object members with the same name to json

throws the usual error.
Fix some errors in json:

armor.json: category is defined twice, but is identical, so remove one definition.
tools.json: multiple definitions of flags have been merged into one.
recipes.json: removed qualities entry, that have been overridden by the second quality member anyway.
Merge integrating new character and sort armor menus with input context, vehicle cargo level display, and json duplicate entry check.