Non-locking, optionally looping gradients completed. Fixed input buffer management, improved code structure. Still needs to be fine-tuned; at 60 ticks per gradient cycle, longer gradients are visibly choppy.
Commands in this release:
Set a constant color value: "V#FFFFFF"
Make gradient pulses between two colors: "G#000000:#FFFFFF:pulseTime"
Loop between two colors: "L#000000:#FFFFFF:pulseTime"