safe printf and sprintf with type checking. Does not support precision etc atm, but we can pass c++ string as %s.