A friendly interface around WebGL shader programs