Revert "Revert "Use include statements relative to the parent include directory. This fixes portability issues on MSVC, and means that each subdirectory does not need to be added to the additional include directories.""

This reverts commit da117f6f9b6b249f7da2f97e542075fb8de552c5.