lex should only remove a tab in line start

lexer should only replace tabs to spaces if they are on the beginning of a line, otherwise those tabs may be meaningful (for example they can be part of a pre-formatted code string)