First attempt to see if COLUMNS is set, if that fails an ioctl()
is issued to find the width of the output device. If that fails
as well, we default to 65 chars per line.
It actually makes the binaries smaller, the code easier to read
(gems like "val == true", "val == false" are gone) and actually
predictable in the sense of that we actually know what we're
working with (one bitwise operator was quite adventurous and
should now be fixed).
This is also more consistent with the other suckless projects
around which don't use boolean types.