feat(colors): adds a color model to handle non-css colors

The color class provides a `colorRexep` that matches all
possible color expressions. These expressions can be defined using the
`Color.addExpression` method (see `color-expressions` for examples).
When a color is created using
a text token, the registered expressions are evaluated and
the first one matching the string is called.