add a way to re-use fmt::Fmt after parsing a format string and add a check they are not used cross-threads