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)`.
Since this is used for every visual just like `pos` is, it's a bit cleaner to just use the same `xform = transforms.STTransform(...)` for each visual, assuming that won't break anything.