Minimal C++ type-safe formatting ( inspired by boost-format )