Test shader

Dear Master, 

I improved the ShaderProgram to take more option when setting attributes. I corrected the code for the rotation with quaternion, it was just a conversion of radian to degrees, and I optimized the computation. I set a solution for the deletion of ShaderProgram but not clean (refer to https://docs.python.org/3/reference/datamodel.html#object.__del__ for the problem of del). Finally I updated the last example.