Conic Descent and its Application to Memory-efficient Optimization over Positive Semidefinite Matrices