This is based on test-shader.c but is solely implemented with the cogl_program/shader APIs instead of the clutter shader APIs.