Slowly moving code towards Program type.

Thinking about adding a "Job" type that actually manages the buffers and
would interact with a program like this:
auto job = program.newJob( primitiveType, configuration...)
job.setVerticesData( ... )
job.setUniforms
...
program.run( job );