[WIP][MAINT] Simplify the implementation of the 'Core.Color' module.

This PR improves the maintainability of this module.

The improvements are:
- the decomposition of the file 'Color.hpp' into several submodules:
  - 'Pixel.hpp' for the pixel class,
  - 'ChannelConversion.hpp' for the conversion of channel types to another,
  - 'ColorConversion.hpp' for colorspace conversion,
  - 'ColorSpace.hpp' for colorspace definition,
  - 'Typedefs' for convenient color typedefs.
- the addition of unit tests:
  - [x] 'Pixel' class,
  - [x] channel conversion,
  - [x] colorspace conversion,
  - [x] typedefs.
- the removal of (horrible !) macros for pixel-based operations by using templates instead.
- the substitution of 'ChannelTraits' and 'ColorTraits' classes by simpler template functions. These traits classes are not very useful and hard to read and doesn't have that much value.
Add unit tests for these functions. Need to address this in another PR.