Variational Gram Functions: Convex Analysis and Optimization