Optimize inner structure, increase performance (15x)

`spaces` and `maxes` information can be used in automation and reducing duplicated code of components depending on color (like color pickers, [color-ranger](https://github.com/dfcreative/color-range) etc.). For now `spaces` and `maxes` are declared within `setValues` scope, they're inaccessible from the outside.

This fix makes `spaces` and `maxes` available as static properties on Color: `Color.spaces` and `Color.maxes`.

It doesn't affect performance: [test](http://jsperf.com/static-members-vs-scope-variables).


Also it adds an optional argument for the `.mix` method to calculate middle color by the space passed.