Fix lexer to support base 16 integer literals (0x)