CMake compiler detection improvement

Move to the new system of compiler detection where we test against a
compiler id string rather than using the old CMake macros.