[New Feauture] CUDA-based convn as in MATLAB.
Add downsampling kernel and unit-testing codes.
Add CUDA-based upsample, randn, rand and MACROs.
Back-propagate for convolutional/subsampling layer.
Add new class CNN and finish feed forward in it.
Change Makefile rules. Make *.o first & then link.
New constructor of mat takes 3rd arg as init value.
Add Shared Memory version of "valid" convn.
Batch feed forward done. Won't crash. NOT tested.
Type 2 normalization from pre-computed statistics.
Change label to 0-based. Warn user when wrong base.
Finish all backPropagation. Not tested yet.

rot180 still not implemented. Also, fix the sign comparsion warning
of size_t and int in most of the files.
[Bug Fixed] out of boundary memory in valid_shm
CNN Done. Exactly the same as in DeepLearnToolbox.
Remove debugging codes.
Weight init determined by fan_in & fan_out.

Also, test cases established in cnn-train.cpp
Add grid.z to perform batch convn of type "valid".
Use batch_convn in CNN feed-forward. Unit tested.
Add batch downsample.
Add batch upsample.