Finished off the inventory and cleaned up some more old hard coded inventory code.

Items now have flags and pockets. Inventory can now return items in a list of pocket. Items now order by name in inventory. Items can now be used with a target. Each item is also associated with its inventory. Items may also be transferred between inventories (using chest in-game?).

Implemented target for item usage and re-usable for selecting Pokemon/Trainers/NPCs. Although trainers and NPCs need to separate their Unity object from their internal one, which will also resolve a few warnings.

Renamed Target BattleTarget as it's only used for combat.