Now supports full 16-bit color LUTs

The LUT size has been changed from 4096 to 65536 entries.  It is now
treated as a 256x256 texture, and the original 16-bit grayscale image is
treated as 8-bit luminance / alpha.  This simplifies the fragment
shader.

Updated comments and did a little general cleanup.  Renamed a few
things, added "version" pragmas to the shaders, removed some unnecessary
\ns.   Temporarily changed demo code to generate values beyond the
normal 4096.