Makefile: fix install target when building out-of-tree
Makefile: detect Apple toolchain instead of relying on uname

This allows cross-compiling for Android on a Mac.
Makefile: implement a "silent rules" approach

The old behavior is still available through `make V=1`. This is similar
to the Linux kernel and newer versions of automake.
Makefile: make it possible to avoid building static/shared library
Merge branch 'feature/improved-build-system' of https://github.com/frida/capstone into aaa
Makefile: put common functions into functions.mk