Split actual formatting from temperature_column_tail into new format_temperature[_sz]
Implement bfg_sprintf for use with custom BPRI* formatters

Timestamps:
- BPRItm: int timestamp_format, struct tm *, long usecs
- BPRIts: int timestamp_format, struct timeval *
- BPRItt: int timestamp_format, int64 time (cast from time_t)
- BPRIte: int timestamp_format, int elapsed_secs
Large numbers (eg, hashrates and data sizes):
- Integer precision: BPRInd: const char *measurement, enum h2bs_fmt, double hashrate, int unit
- Float   precision: BPRInf: ^
Percentage:
- BPRIpgo: double count, double other
- BPRIpgt: double count, double total
Misc:
- Temperature: BPRItp: double temperature
Implement a utf8_decode function to produce wchar_t needed by curses
Use UTF-8 for Unicode