Accept anything castable to tuple in SetAll command rather than type-checking.
Use address instead of fixture to refer to addresses.
Log error instead of crashing when a SetFixture command refers to an invalid fixture.
Make YAPPI an explicit command line argument.
Profile Networking.write.
Import sys.
Use generators here and there. Hoist some variables out of inner loops.
Some performance improvements to Networking.write.

* Use a numpy-based HLS to RGB converter instead of converting each color in
  Python using colorsys and de-rezzing / caching.

* Don't use array to construct the packet since it's slower than just using
  Python lists due to the conversion overhead. Profiling showed it was faster to
  convert it in one call than incrementally.

* Cache intermediate lists as scratch space so we don't allocate a few KB of
  memory for every write (and cause GC churn).

From my profiling the average time per-call dropped from .032 to .008. Average
FPS went from 20 FPS to 28 FPS on the echodome scene.