Switch controller off on Mac sleep.
And clean up on controller disconnect.
Replace GCC with LLVM