beginnings of shader code generation

still needs quite some work, but the first steps toward a
usable shader generator are there (can compile the vertex shader
of cube_companion). Fragment shader is still a todo.