Make logger an API class, Editor a Logger.
Logger now in scaled.util, Editor now a Logger.
Expecter fixes and API rejiggering.
Logger moved.
A bunch of service revamp/rearrangery.

Introduced a new Executor interface with methods for running ops on the UI
thread or on a background thread.

Logger and Executor are now injectable by modes and services. Editor is no
longer polluted with these separate concerns.
Expecter API tweak.
Name RegexpMatcher, add group(int) method.
Bound the point into the buffer on read and write.

I probably need to address this more fundamentally, but it's troublesome when
the point becomes invalid because someone deletes a bunch of text from the
buffer, leaving the point dangling in space.

Most likely I need to just automatically adjust the point when additions and
deletions occur in the buffer prior to the point.
Some Editor buffer changes.

createBuffer() no longer automatically visits the buffer. You have to do that
yourself, if you want it. createBuffer() also takes optional args to make
available to the major mode for injection.

openBuffer() changed to visitBuffer(), which matches visitFile() and
visitConfig() more nicely.
Revamped batch compilation support.

We're just going to go Emacs-style for this level of support. Most modes will
pipe the output of their compiler into a buffer, match file path and line
number from the output and for extra credit, parse out the error string so that
we can display it to the user when we move to the error in question.

The next level of sophistication will support tagging regions of the buffer
with faces to indicate warnings, errors, and whatnot, but that needs tighter
integration with the compiler than basic batch compilation provides.