Improve color package and add colormaps

* [x] implement `get_color_dict()`
* [x] `LinearGradient` to have a default `x` argument (linearly spaced with `np.arange()`)
* [x] `get_colormaps()` to return the list of color maps
* [x] implement `ColorArray._repr_html_()` to display a color array in the IPython notebook
* [x] implement `nearest` interpolation in NumPy and GLSL
* [x] refactor in different files
* [x] add an example notebook with many colormap examples

![image](https://cloud.githubusercontent.com/assets/1942359/5209124/2bac3536-75bb-11e4-92c3-fbcb0354d810.png)

Close #413. Closes #414. Closes #646. To be continued in #648.
(1) My motivation is to have Transform and Colormap conform roughly to the same API because they are conceptually quite similar (and in some cases might even be used interchangeably). Perhaps that is unnecessary or doesn't make sense? `__getitem__` does make more sense for colormaps because their domain is usually [0, 1], whereas transforms have arbitrary domain. Maybe we need more opinions @Eric89GXL @almarklein ?
(2) `arg_to_array` is pretty trivial and in any case does not cover all of the conversions that are done in the current `__getitem__`. `as_vec4` Converts its input to `(..., 4)` which is probably not useful here?