Remove dependency on underscore, add Iuppiter.js for save compression.
Implement World.save function.
Include lzw_encoder from https://gist.github.com/revolunet/843889
Revert "Include lzw_encoder from https://gist.github.com/revolunet/843889"

This reverts commit 7bcaa97b88f67cb8fe86ddacec0490c4dbacb7a2.
Switch to custom base64-like scheme, Iuppiter.js not decompressing.
World.load implemented.
Factor out canvas grid, set up cheap/nasty listener methods to sync data between the canvas grid and world.

Both could stand to be instances of a data-grid object to share the grid-centric setup.
Add knockout, move UI to it and begin work on save/load UI code.
Remove data param from CanvasToggleGrid.create()
Implement loading/saving, fix up the HTML side to do it right.