Non-convex optimization on the GPU using WebGL and Now.js