MSVC: Remove SFINAE through alias templates
MSVC: Remove SFINAE through alias templates

MSVC makes the ::type access in the alias template a hard error instead
of SFINAE. Moving the ::type access into the places where the alias
template is used resolves MSVC's confusion.

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

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