* Split the InventoryTable view/controller out from the existing
inventory view/controller. This is a simpler component which only
includes the table itself, and not the scrollbox, panel or header
used on the crafting page.
* Create the FullRecipe view/controller to represent the expanded
version of a recipe shown on the item page (as compared to the
terser version on the crafting page).
* Rename the existing Recipe view/controller to MinimalRecipe to
avoid confusing the two.
* Refactor the CSS for the Stack view/controller so that it can be
shared between the Inventory and InventoryTable views.
* Incorporate all these new controllers into the item page and hook
up the necessary model logic to drive them.