WIP: Reactive Visual tests and integration of Color with visuals

On a second thought, I will integrate Visuals with Color and then add the tests so that the changes can be included in few commits.
I'm seeing this code a lot. I'd suggest adding a simple wrapper like this:

```
def _color_as_array_or_none(color):
    """Helper to convert color to rgba array, or return None (if color is None)"""
    return Color(color).rgba if color is not None else None
```
You could put this in `vispy.color` somewhere, and then use that instead of repeating this same four lines all over the place. It's generally not a good idea to repeat code -- if you're going to do something more than once or twice, consider wrapping it in a function so that, later, if you want to fix/enhance the functionality, you can do it in one place instead of four or five.