EtherCalc: Code cleanups

I've not yet received reviews so far, so I'd like to checkpoint the progress made since the last merge.

Mostly it involves compatibility with the AngularJS 1.3.x release, and also a new port to React.js (mentioned only as a reference in the main prose.)