mask / offset / strides can change during canonicalization, and contiguous can be True at the end
* fix merging condition in merge_dims * add tests * set contiguous after mask is canonicalized * minor fix