* use Mat class for Shape description
* shape specialization constant in compute shader
* wip
* wip
* test forward_inplace, add binaryop unaryop sigmoid test
* fix arm unaryop test
* fix arm binaryop test
* make shape hint optional, cast int8 to fp32, add cast test
* wip
* follow the good and old local size setting for conv1x1
* the optimal local size rewrite
* fix build on msvc
* add permute shader for all packing layout, add permute test
* concat and slice patial shape constant, slice test
* fix slice test
* interp test
* add lrn test, test packing layout implicitly
* add eltwise test
* add normalize test
* add instancenorm test
* reorg shape constant
* simple local group size partition
* add shape constant param
* Fix warnings C4244, C4267 in src/layer/yolov3detectionoutput.cpp
C4244: '=': conversion from 'int' to 'float', possible loss of data
C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
C4244: 'return': conversion from 'double' to 'float', possible loss of data
C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
* Fix warnings C4244, C4267 in src/layer/yolodetectionoutput.cpp
C4244: '=': conversion from 'int' to 'float', possible loss of data
C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
C4244: 'return': conversion from 'double' to 'float', possible loss of data
C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
* Fix warning C4244 in src/layer/quantize.cpp
C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
* Fix warnings C4244, C4267 in src/layer/detectionoutput.cpp
C4244: '=': conversion from 'int' to 'float', possible loss of data
C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
* Fix warning C4244 in src/layer/roipooling.cpp
C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
* Fix warning C4244 in src/layer/sigmoid.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4267 in src/layer/slice.cpp
C4267: '=': conversion from 'size_t' to 'int', possible loss of data
C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
* Fix warning C4267 in src/layer/softmax.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/interp.cpp
C4244: '=': conversion from 'float' to 'int', possible loss of data
C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
* Fix warning C4244 in src/layer/instancenorm.cpp
C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/deconvolutiondepthwise.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/layer/convolutiondepthwise.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4244 in src/net.cpp
C4244: 'return': conversion from '__int64' to 'int', possible loss of data
C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
* Fix warning C4244 in src/layer/bnll.cpp
C4244: '=': conversion from 'double' to 'float', possible loss of data
* Fix warning C4267 in src/layer/concat.cpp
C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
* Fix warning C4267 in tools/mxnet/mxnet2ncnn.cpp
C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
C4267: '=': conversion from 'size_t' to 'int', possible loss of data
C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
C4305: 'initializing': truncation from 'double' to 'float'