make code compatible with MSVC 2010

MSVC does not support variadic templates and tuples are limited to 10
elements.
set defaul allocator when using native pointer