Progress:

- split tokenizing and interpreting into their own separate corners;
- accept newlines as just another instance of whitespace;
- include a '?' in error output (general form: '? some error');
- ForthError is now defined in forth.machine because it's the only place
that seems to use it;
- Parser gets an explicit `is_finished` property so we can know when to
reset it.

Do we really need a Parser member, or can we just make one whenever we
need one? So far, that's what we seem to be doing anyway.