create()
makes shaders if are not compiled and attach their
uses result of attribLocations() call, affect after link() call
uses result of fragDataLocations() call, affect after link() call
check link status, throw exception if false
create program, attach shaders, bind attrib locations, link program
link program and check status
check this is current shader program
glUseProgram, set this is current shader program or set zero (if u==false)