On VC, the alignment modifier is not permitted on function parameters
(error C2719). So, we replace "func(myStruct myArg)" by
"func(const myStruct &myArg)" (which is a better way of working
whatever the compiler).

Note for Visual Studio:
If you are using VC10, the "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector"
(line 870) has to be patched:
  -void resize(size_type _Newsize, _Ty _Val)
  +void resize(size_type _Newsize, const _Ty& _Val)
If you are using a more version of the compiler, the problem has been
corrected.
Since the new alignment done in Matx, sizeof(Vec2b)!=2 and sizeof(Vec3b)!=0
=> instead of using sizeof(T), adding a new attribute named "channel_" to
the class template.