Fix fontconfig cmake module
Fix Freetype cmake module
Fix AppKit find module
Fix major misunderstanding of cached variables in all find modules
Add cmake option to disable user interface

Adds:
ENABLE_UI (on by default) which makes it so that the UI is required, and
will fail if a dependency is not found.  This is on by default because
most people are building it with the user interface, and we'll probably
get a lot of issue reports stating "why is there no executable?" if we
don't have this on by default.

DISABLE_UI which forces the UI off.

If neither are set, then the UI will only be built if the dependencies
for it are found, otherwise the UI will be be ignored.