Implement "Memory Efficient Convolution" paper
Memory Efficient Convolution (MEC) is an alternative to `im2col` to lower the tensor and convolution kernel to feed them to BLAS for Matrix-Multiplication.

Compared to FFT and Winograd it uses much less memory and is faster than Winograd on 5 out of 7 benchmarks due to launching several GEMM in parallel and maximizing throughput.

It is especially suitable for mobile devices that are constrained in memory.

Note: It requires NHWC layout (Tensorflow)

Paper: Cho et al, [[1706.06873]](https://arxiv.org/pdf/1706.06873.pdf)

Related implementation in lua (before CuDNN existed): [CPU](https://github.com/leonbottou/torch7-custom/blob/a5c15708cc1a5e46f966dd27d87101989b8cab65/extra/nxn/Prototype-Of-Convolution.lua) and [GPU](https://github.com/leonbottou/torch7-custom/blob/master/extra/cuda/pkg/cunxn/SpatialConvolution.cu)