This change is in preparation for adapting this component to support multiple
LimitlessLED bridges. Ultimately LedControllerPool helps to maintain the
mandatory 100ms pauses across multiple controllers so messages are reliably
received.
Add support for setting the color of a LimitlessLED light.
Currently this implementation is limited to the subset of 16 colors
exposed by the ledcontroller package that is used to interact with the
light itself. Technically the lights themselves support 255 colors.
LedController's set_brightness() method expects either an int between 0 and
100, or a float between 0.0 and 1.0, but the brightness here is an int between
0-255. Scale the brightness appropriately.