Passes Registry::Program to Primitives::VertexArray.

The high level program can be used to set up a VAO. This saves the
redundant trouble of querying uniforms for every VAO. It now saves
uniforms to the VAO for you.

It would be nice to have the program spawn a VAO instead... somehow. It
seems wrong to have the low-level class take a high-level class to
construct it. The high level should always construct lower-level tools.
It was easier, for now, to do it this way.
Renames namespace Primitives -> Primitive