Added static methods to convert between rgb, hsl, and hex formats.
Constructors now use these methods rather than internal logic.
Added unit tests for the new hsl methods and static converters.