Specifically:
1. Factored out color exporting.
2. Switched floating point writing to use .format() with 6 digits
of precision. The main gain here is that numbers like 1.0
don't print with a bunch of useless trailing zeros.
This uses a normalized version of blackbody radiation, so the
colors still vary but the brightness doesn't vary nearly as
wildly as with genuine blackbody radiation.
All scene data collection is now done in a single sweep of frame
changing. Previous commits were already working towards this, and
but now it's done. Yay!
Over-all, switching to this approach gives huge speed boosts on
large scenes with animation, rigs, dependencies, etc. For such
scenes, frame changing is very expensive.