Speed up the decodable reader tool

There were also changes to bloom_lib.js in the SynPhony repository.
If there's a cache (which is great, we need it), I'm surprised to see no code anywhere that seems to have to do with updating that cache (e.g., when the stage changes, or is reconfigured, or new sample texts are added...). Maybe that's all in synphony somehow?