Erase word

I’m not sure how I feel about this. Some notes:

* We should eventually batch multiple cell changes into one server request.
* It feels wrong (too tightly-coupled?) to add a callback to `getFarthestValidCellInDirection`.