release old program with the same key before adding glprogram

this fixes a memory leak when adding a program twice or more times. (eg. we might add a custom program at game start, and later downloaded a newer version then add it again).