Properly save and load model at each iteration
Use new InferencePlan API and fix var-bound for the UY algorithm
BUG: In safe_log we weren't respecting the incoming dtype
Performance fixes - notably how to scale to 1m documents with a 150K vocab

Bascially avoid materializing any DxT array, and use Cython to
materialize the bits that matter

Temporarily commented out ent_Z (as Z isn’t explicitly updated, it
doesn’t matter for debug)