Release gl objects in VP program cache cleansing; separate out SharedSARepo into its own header file