Allow eating from worn containers / items.

Changes are:
1. get selected item via player::i_at, using only the item position, which includes worn items.
2. check the content of that item or the item itself for being food instead of duplicating that for weapon and inventory item.
3. get the it_comest pointer from the selected item as final step.
4. display message for empty worn container.
5. drop empty containers from main inventory (not worn, not wielded) if the option says so.