Visuals without scenegraph

Brings proper transform support to visuals when used outside the scenegraph. All visual examples updated accordingly (visuals now draw to the pixel coordinate system, rather than ndc).

There are two ways to use visuals in the absence of a scenegraph:

1. Use `SceneCanvas.draw_visual(...)` 
2. Create a SceneDrawEvent with all the correct transform information and call `visual.draw(event)`.
If instead of using `map` you want to get back to the source of the problem, it's that `ref` in `filename` (from line 315 / 299) needs to be turned into a string in Py3k.