Add `clone()` function to create a copy of the color object

I needed to create a copy of an existing color so that I can manipulate it to create a new color but still leave the original base color alone so that it can be used again later. I added a `color.clone()` function to return a new color object with the same values as the original.

This function uses `this.rgb()` to "serialize" the color object and pass it to the Color constructor to create a new color object with values equal to the original.

The new function is documented in the readme.

There are tests to make sure the values of the cloned object match the original and that if the cloned object is manipulated the original object does not change.