-Re-ordered features in terms of priority
-Separated mirror! into two functions
   - mirror!, which now takes a textarea DOM node and an object of extra keybindings and sets up the appropriate codemirror instance
   - setup-cell-mirror!, which takes a cell object and makes the appropriate call to mirror! to set up that cells' codemirror instance
-This'll let us write the package field and the macroexpander a bit easier (may need some extra keyword args for the macroexpander)