Added a new GPU algorithm that minimizes gpu mem.

Tell the code to use the new algorithm by supplying the -q command
line arg (as long as -n is also supplied).

The algorithm basically avoids storing all the stored vectors on the
gpu. It can do the multiplying by stored vectors really fast on the
cpu by simply skipping decoded values that are effectively 0.

Also fixed a pretty bad bug in the old code. Doesn't actually change
that much, just changes the size of the vectors that come out.