Transparent hugepage support

Combine frame and mb data mallocs into a single large malloc.
Additionally, on Linux systems with hugepage support, ask for hugepages on
large mallocs.

This shrinks memory usage significantly on systems without hugepage support
by reducing malloc overhead, while increasing performance ~1-4% on systems
with hugepage support, albeit at the cost of somewhat higher memory usage.