Storage of Matrix::data_ transposed for improvement of performances on GPU

Shared technic deals only with one vector element.
* less atomicAdd (1 instead of 2)
* less __syncThreads (1 instead of 2)
* less shared memory required (1 float instead of "blockDim.x+blockDim.y" floats)