whitespace fix

Signed-off-by: Matthias Kretz <kretz@kde.org>
use std::decay alias for shorter code

Signed-off-by: Matthias Kretz <kretz@kde.org>
traits: is_simd_(mask|vector) identifies simdarray types

If you want to identify a Vector<T> but not a simd_array<T, N> you now have
to use (is_simd_vector<T>::value && !is_simd_array<T>::value). Overall
this simplifies most of the code since the common pattern is that
Vector<T> and simd_array<T, N> are acceptable.

While at it I added is_simd_mask_array<T> to complete the set of traits.

Also added some docs.

refs #604

Signed-off-by: Matthias Kretz <kretz@kde.org>