Another build fix for MSVC.

MSVC doesn't support C++11 extended sizeof (N2253);
use std::declval as a workaround.
More build fixes.