Add Color support

@lucastizma I've took your :sparkles: change-set and added some more refactoring and specs on top.

Closes #13 
Fixes #9