Adding support for escape sequences in strings

Changes:
- Upgraded lexer to support multi-character special tokens
- Lexer now properly handles \r, \n, \t, \", and \\ escape sequences in strings