Refactored labels anew to allow for single-label conversion.
Added benchmarks for convolution implementations, ability to have different convolution implementation on a per-layer basis. Probably the latter is unnecessary, as it seems cuda-convnet performs better or as well as FFT on my hardware. Right now it crashes on pixiv dataset as the difference in shape between parameters for the 2 ops requires some additional memory allocation which my card can't handle (I think). Will profile further, and change shapes around if necessary.