I'm an idiot.

Was parsing "()" all the time because, apparently, that's the result of `String.valueOf(util.Arrays.fill(new Array[Char](150), 'a'))`.
Create cached node immediately.

Doesn't seem to make much of a difference.
Dead code.
Ambiguous grammar benchmark.
Factored grammar benchmark.
Factored grammar benchmark.
Smileys grammar benchmark.