Fix bugs with the language services tracking file edits properly

* one bug was in TypeScriptEditor passing incorrect change info to the
bridge for repaint state changes
* another potential bug was with the snapshots not being immutable as
the spec implies they should be