Support separate job pool for precompile header generation
CMake 3.16 adds native support for pre-compiled headers (PCH), which is great. However, some versions of MSVC run into a bug when multiple PCH-generating compiles happen simultaneously - the compiler exits with an erroneous out-of-memory error.
One solution to this problem is to limit the number of PCH-generating compiles that can occur at the same time. Ninja is well suited to this with the pools concept. However, with native PCH support in CMake there is no method to specify the job pool for PCH-generating tasks.
I propose adding a JOB_POOL_PCH (or JOB_POOL_PRECOMPILE_HEADER) target property (and associated CMAKE_* version) to allow specifying the job pool for PCH-generating tasks. If this property is unset, it should default to JOB_POOL_COMPILE / CMAKE_JOB_POOL_COMPILE.