DRYing up gl program linking