The strconv package's ParseFloat / ParseInt only take string.
To reduce allocations, I need to parse an int from a []byte.
I attempted to convert strconv's Parse internals to use []byte instead, and then make
the existing string versions make an unsafe []byte of the string's memory using
reflect.SliceHeader / reflect.StringHeader, but the reflect package already depends on
strconv, so there's an import loop.