Formats an IPv6 address to the colon-separated hexadecimal form as
defined in RFC 2373, section 2.2. bin_addr must be an 8-element
array containing the 16-bit fields.
The returned address is on a canonical shortest form as follows:
The longest sequence of zeroes is shortened using "::". If
there are several of equal length then the leftmost is shortened.
All hexadecimal letters are lower-case. There are no superfluous
leading zeroes in the fields.