Reorganize visuals layer

Reorganization to make visuals a top-level package.  Fixes #448.
Only one example currently works; I'll deal with the rest after feed back on a couple of issues: 

1. Any complaints about the current structure?
2. Poll: should `transforms` be top-level as well?
3. There are many modules for users to import, so it would be nice to pick one place where most of the common names are imported by default. Currently there is a bit of this going on in `scene.__init__`, but it's a mess. I'd like to make many of the examples look like:
```
import vispy.scene

canvas = vispy.scene.SceneCanvas()
line = vispy.scene.Line(...)
line.transform = vispy.scene.AffineTransform()
```
`vispy.plot` should do something similar, but with a more extensive set of imports aimed toward scientific vis. 
It can happen when you try to use the `config` from outside the function, when inside the function you later create a variable of the same name. That's what I mean by scope conflict (sorry if it's the wrong term, it could be). Here's what probably happened:

1. Originally, there was a variable `config` created and used on these lines, which is fine.

2. You then added `from ...util import config` at the top of the file, and `self.dpi = config['dpi']` call above, which caused the error to occur. This is because the interpreter is trying to save you from using the incorrect `config` variable, since it knows that later within this scope you create a variable local to this function called `config`, creating a conflict with what it thinks the scope of `config` is (global to the file).

3. Instead of doing `global config`, you could have just renamed the `config` that gets created within this function to `gl_config` (as it is now).

Thus you should be able to remove the `global config` from this function, since it's no longer needed to disambiguate what `config` means in the scope of this function.