Menu: Made inventory item category be grayed out and unselectable when there is no item in that category.

Fixes #402

I also moved the handling of the key items category back to the gobal inventory manager
where it belongs and did a few code and API cleanups.