This introduces the new crafting page design featuring a new vertical
layout and list display of all crafting steps. It also makes it easy
to move items between the have/need sections and even from each step
into your inventory (causing a new crafting plan to be created which
doesn't plan on making that item).
* Convert the `BaseController.hide` and `show` methods to be much
more robust in the use of CSS transitions (using a timer in case a
transition doesn't actually fire).
* Change `hide`/`show` to use events for communicating animation
state instead of callbacks
* Convert several controllers to fire events for communication with
parent controllers instead of accepting functions.
* Rewrite the `CraftPageController`, `CraftPage` model and related
Jade/SCSS files to implement the new design.
* Alter the `InventoryController` and `StackController` to allow a
variety of action buttons, and for the events from those action
buttons to bubble up to parent controllers
* Add the `StepController` and its related model, template, and style
sheet as part of the new craft page.
* Tweak the `ItemSelectorController` and related files to allow for
a variety of styles for the launcher button
* Update build process to *not* copy over prerendered pages during a
regular build (only during a `dist` build)
* Add dependency on npm "markdown" package and include it in the
scripts loaded in the default layout
* Update the Item model to be able to load from a *.cg file
* Add an ItemParser to process the `item.cg` file
* Update the general parser to be able to work with HereDoc-style
text blocks
* Add a markdown-specific stylesheet
* Add a sample of the `item.cg` file format (Advanced Crafting Table)