Add dialog for picking up multiple items at a location

Uses the existing `ItemDialog` rather than creating a new UI class.

A few small things that could be improved here, like encapsulating the `itemsAt(pos)[index]` access and dealing with a full inventory before popping up the dialog. It’s just the bare minimum changeset for now.
This now encapsulates the `allowedLocations.length` check. I kept this method in place because the check was used in two places.