Refactor item actions and selection dialog.

- Added ItemLocation enum to describe where item is.
- Added ItemAction base class that handles selecting and removing an item.
- ItemDialog is simplified to use above.

This should make it easier to add "throw", a new action that can be performed on a selected item.
Make items throwable!

- ItemTypes now have a tossAttack that defines what happens when it hits something.
- Throw command to select and throw items.
- Rock items which are basically only useful for throwing.
- Defined throw attacks for most items.
Merge branch 'throw-items'

Conflicts:
	lib/src/content/items.dart