Always pass a list to glShaderSource

Some implementations do not deal well with a single string.
Online Mike said that PyOpenGL now tests this, but perhaps
this fix got lost again? Anyway, this should work in any case.
Prevent spewing of errors from Program.draw

When program encountered an error when being activated,
the draw method would proceed anyway, resulting in lots
of messages for an error caused by trying things while not
being enabled. This patch turns that off.