simdize: new template alias to simdize a given type
simdize: new template alias to simdize a given type

If you have a template class C<T, U, ...> you can use simdize<C<T, U,
...>> to get a type C<Vc::Vector<T>, ...> with a few extras:
* Size and size() are defined and return Vc::Vector<T>::Size
* the member type FirstVectorType is an alias for Vc::Vector<T>
* the member type VectorTypesTuple is a std::tuple of all the SIMD types
that were converted
* If there are different types T, U, ... the first one will be used to
construct a Vector<T>, the others will be either Vector<U> or
simdarray<U, Vector<T>::Size> ensuring that all SIMD types have equal
entry count.
* operator new/delete are overloaded for correct aligned memory
allocation

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

VcDevel/Vc,VcDevel/Vc,VcDevel/Vc,chr-engwer/Vc,chr-engwer/Vc,chr-engwer/Vc,VcDevel/Vc