[doc/design][m]: (old: 2012-12-04) some thoughts / sketches re overall design and architecture.
[#25,model/project][s]: randomly generated ids for projects rather than one fixed id (so we can have multiple projects now!).
[model,views,bugfix][s]: remove call to save in Project.initialize as we may be just reloading existing project and a save is both unnecessary and leads to last_modified being updated.

* Also introduce new save method (overriding default save) which calls saveToStorage.
[view/projects][s]: prettify the projects view.
[#34,transforms][m]: introduce codemirror for transform editor plus general ability to codemirrorify textareas.

* Done much more than just codemirrorify textareas as code in codemirror editor can be run with output from console log output below the textarea (borrowing heavily from @iros's work on https://github.com/iros/deck.js-codemirror. This will be very useful as we move into full js editor - #35.
[#38,refactor][s]: rename projects -> dashboard - fixes #38.
[#41,bugfix][s]: fix intermittent issue with slickgrid initialization error by switching from doing boot on document.ready to document.load - fixes #41.

Have been intermittently getting an error where SlickGrid does not display and have in console: "Uncaught Error: Cannot find stylesheet." (slick.grid.min.js:39).

This issue was then happening consistently if a page with slickgrid was first page shown (as was happening as part of #39 since you can go directly to the project page).

Some googling suggested that https://github.com/mleibman/SlickGrid/issues/223 may be relevant. Switching to booting app on window.load rather than document.ready did indeed fix the problem - hurrah!
[#39,refactor,routing][m]: rename dataset view to project and implement project/{id} - fixes #39.
[#39,refactor][s]: simplify dashboard view by using the new project/{id} url + routing.
[#39,addendum][xs]: correct css class name (with important fix to slickgrid width weirdness).
[#44,model/script][m]: create Script object and have project.scripts attribute and serialization into project data attributes.
[css,cleanup][xs]: remove long obsolete css.
[#43,ui,explorer][s]: start on some relayout of explorer (project) page.

* Remove tabs at top
* New show / hide button for script editor (currently still transform editor but soon to be done away with!)
[#45,explorer/scripteditor][s]: start on refactor to have a proper Script Editor widget.

* Remove recline Transform stuff and wired up main Project.scripts script.
[#45,#46,scripteditor][s]: refactor all of the existing runnable CodeMirror stuff into ScriptEditor view making it somewhat cleaner along the way.
[addendum,paperbag][xs]: syntax error in last commit!.
[#44,#45,scripteditor][s]: autosave script on every run of the script.

* As part of this model now will save project (and hence scripts) on every change to a script.
[#46,#45,scripteditor][m]: refactor all the code to execute code (for script editor) into a web worker.
[#46,#45][s]: scripting now has access to current dataset.
[vendor][s]: upgrade to latest recline with some useful improvements.