Fix races when initializing static arrays in StandardTokenizerImpl

I've observed crashes where one thread is in the middle of initializing
ZZ_CMAP and other is trying to use the partially initialized array and
crashes.
Use boost::once to ensure that only one thread handles the initialization
and no thread uses the data until it is fully initialized.