Improved parsing speed in case of large grammars (500-1000ms faster per parse call)

The grammar construction for the #start[X] reified type was calculated
every parse call.
This is now cached. To avoid memory leaks, we use a SoftReference