Better shader program management