Less char boxings

Because of the way boxing is done in nitg-s, the services in `Text::chars` view may cause unnecessary boxing of chars.

After profiling, we found that the biggest consumers of such boxing are `Lexer::get_token` and `BufferedIStream::read_all`.

Thus, the idea is to shortcut the `chars` view with a direct access to the native string in these two methods.

With `nitg nitg.nit`, the total gain is approx 5%, and the number of box of char is reduced by 70% (from 4.8Gboxes to 1.4Gboxes).

Note: this is only a easy workaround until the boxing is done better in nitg (mid-term goal)