Componentize dialogs and passcode redemption (plus dialog changes)

### Abstract

Work toward making IITC more modular: put passcode redemption and dialog code into namespaced components, with exports for publicly accessible components. Reflect the changes in the IITC bootstrapper.

### Redeeming

Passcode redemptions still don't work, but implement a few fixups to reflect serverside changes: `ULTRA_STRIKE` and `UNUSUAL` object types, plus `INVENTORY_FULL` error condition.

### Dialogs

Let dialogs take a function as the `html` or `text` argument that will be executed in the dialog's context and passed the `options` hash.

Implement a stack for modal dialogs. This change will likely require some changes for the mobile version. Want to make sure I'm not breaking anything before you merge.