Output power function applies only to written color

The perceived problem where the mixed color was different than the color it should be was due to the output-power correction being applied to the mixed color, instead of only to the codes sent to the controller. This has been remedied and resolves #8.
Optimized layer blending functions

These now shortcircuit in cases of zero layer opacity, and averaging blenders also shortcircuit 100% opacity.

Channel limiting has been moved to the one blend method that may lead to channel values going past 255, removing the overhead for _every_ layer.

The ColorDiff function no longer truncates the differences down to integer values. This improves the accuracy for this function slightly by delaying truncation to the latest possible moment (sending the commands to the strip).

Also removed unused imported modules and changed some tuple creating generators into list comprehensions, mildly increasing performance and readability.