More illuminants

I added support for more illuminants. The color conversion functions such as 'xyz2lab' now can be used with two extra parameters: illuminant and observer. If no parameters are specified the functions behave as before my changes (they default to the d65 illuminant and 2 degree observer angle). This to ensure backwards compatibility.

In addition I created tests for the new conversion features.
Perhaps do:

```
out = illuminants.get(illuminant, {}).get(observer)

if not out:
    raise ValueError("Unknown illuminant/observer combination (%s/%s)" % (illuminant, observer))
```