Text this: A Practical and Optimal First-Order Method for Large-Scale Convex Quadratic Programming.