An unsigned integer above the int64 range is a high-precision number in
UBJSON: its decimal digits as a string. They were found by building a
basic_json from the integer and calling dump() on it, an allocation and a
serializer for 20 digits.
An unsigned integer of at most 64 bits now writes its digits from a small
buffer. Other integer types (wider than 64 bits) keep dump().
Instructions per call, 3000 integers above the int64 range (Linux, GCC 13, thousands): to_ubjson 3968 -> 1825, to_bjdata 180 -> 180. (to_bjdata writes these as uint64 and is unchanged.)
Signed-off-by: Niels Lohmann <mail@nlohmann.me>