add a reconcile event

Add a reconcile event to the text editors:

- add a `reconcile()` method to the abstract `TextEditor` class
- call it whenever the content of an editor changes, after a small delay
- use the reconcile event to invoke re-parsing of the dart outline
- remember the dart outline's scroll position between re-calculations of the AST

@umop @financeCoding