Completely refactor the code:
	* Clean up the type hierarchy
	* send the correct number of latch bits
	* Allow the strip to be treated directly like a Python array
	* Treat everything as 0-indexed, not 1-indexed
This is a backwards-compatibile breaking change, and animations are busted for a bit