In the memory profile, print the max memory used on the GPU.
Updated a little how the memory profile get printed.
Add Scalar.dtype  properties to make it work like TensorVariable.dtype

This fix a crash in the new memory profiler.
Make the memory profiler work when the profile contain multiple function.
Fixes to the memory_profile with multiple fct in the same profile.

Also fix the printing.
Add CudaNdarray.strides as CudaNdarray._strides for compatibility with NumPy.

The setter isn't implemented and will raise an error.