lib/string: redefine [] for FlatString and FlatBuffer without using chars

Signed-off-by: Jean Privat <jean@pryen.org>
lib/stream: BufferedIStream.read_all use Buffer[j] instead of Buffer.chars[]

Signed-off-by: Jean Privat <jean@pryen.org>
parser: Lexer.get_token use String[j] instead of String.chars[]

Signed-off-by: Jean Privat <jean@pryen.org>