Optimization

Here are some possible optimization techniques we can apply to code sections if
they turn out to be slow.  Be sure not to prematurely optimize: if you get
that itch, put it here!

 - Make Tokens Flyweights (may prove problematic, probably not worth it)
 - Rewrite regexps into PHP code
 - Serialize the Definition object
 - Batch regexp validation (do as many per function call as possible)
 - Parallelize strategies