Extract TokenSource interface

I originally thought this wouldn’t be useful because unlike ANTLR our
token types are specific to Ceylon, but I’ve since realized that
something like a filtering token source (filter ws + comments) is still
useful.