Cache the defines/includes for gcc-like compilers per language type
Otherwise we may end up returning e.g. Cuda defines/includes for C++ and vice versa.