Improve color package

* [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.
Can you iterate over all values in `get_colormap` and do this:
```
Function(colormap.glsl_map)
```
I noticed that this bit of code is used in `LineVisual` in a `try/except`, so it would be good if we were absolutely sure it worked for all our colormaps. It might also be good to check any other functions that *all* colormaps should have, too, to at least make sure they execute with some reasonable cases (e.g., check values in [0, 1] and outside) even if we don't check the value of the results, other than maybe the shapes.