Generate more efficient code for the P() non-terminal.
Some stream.parallel() experiments... using jdk8 now... seems to work.
Implement the visitor pattern and some rearrangement to aid visibility.