Setup shader program.  Needs refactoring