/* Gets a single valid identifier char from the input stream, or null
if there is none.
function(first) {
        var input = this.source;
        if (this.cursor >= input.length) return null;
        var ch = input[this.cursor];

        // first check for \u escapes
        if (ch === '\\' && input[this.cursor+1] === 'u') {
            // get the character value
            try {
                ch = String.fromCharCode(parseInt(
                    input.substring(this.cursor + 2, this.cursor + 6),
                    16));
            } catch (ex) {
                return null;
            }
            this.cursor += 5;
        }

        var valid = isValidIdentifierChar(ch, first);
        if (valid) this.cursor++;
        return (valid ? ch : null);
    }