Syntax highlighting checks for binary once

Now zsh checks for the highlight binary and overrides cat/tail/head
if the binary exists, instead of overriding cat/tail/head to check
highlight exists and act based on that every time.