Lexer: ch is now a pointer. This means fewer subscript uses. Fixes GH #1

Using a pointer means that lexer can now do ch++ and *ch instead of doing a
ton of lexer->lex_buffer. This is an intermediate fix though, in that
lex_bufpos still exists and needs to be sorta-synced as well for getting ch
at the top of lily_lexer.

Still, this is an improvement in that there are far less lexer->lex_buffer[x]
type uses.

Additionally, this is the first commit under github. I'm going to start
marking fixed bugs that are in github's tracker as GH #nnn, instead of just
(evil), or confusion.