sqrt: benchmark/test lut sqrt

This uses a 256 byte lookup table, which stores the square roots for 0
through 0.996 (0x0000 - 0x00ff).  Numbers in the range 1 through 15.996
are handled by observing that sqrt(num) == 4 * sqrt(num/16).  That is,
we shift the numbers right by 4 bits, look up the value in the table, and
shift left by 2 bits.  Numbers from 16 through 127.96 (0x0100 - 0x7f00)
are handled similarly.