zshrc: correctly handle FreeBSD/OSX scenarios

In the case of FreeBSD, no provision was made for the coreutils version
of ls(1) being present on the system, which should be handled in the
exact same way as on OSX.

For both operating systems, default to gls(1) if the GNU coreutils are
installed, instead of relying on PATH.
zshrc: alias dircolors(1) if necessary

On FreeBSD/OSX systems, the GNU coreutils are not guaranteed to be
present on PATH (in fact, there is no coreutils installation in
/usr/local/opt on FreeBSD at all).  Therefore, we alias dircolors to
whatever we can detect with the whence builtin on these systems.