Evaluator.eval uses an Evaluator instance under the hood.
Evaluator uses instance variables instead of ungetc to handle look-ahead.
Evaluator@nextc does the @c = @io.getc dirty work.
next? function to streamline Evaluator code and hide @io/@c ugliness.
Add Evaluator.digit?.