This carries over the fix previously made for semantic highlighting
https://reviews.llvm.org/D92148, to the new inactiveRegions
protocol as well.
In addition, the directives at the beginning and end of an
inactive region are now excluded from the region.
Fixes https://github.com/clangd/clangd/issues/1631
Fixes https://github.com/clangd/clangd/issues/773
this part of code becomes non-trivial now, I suggest pulling out a function and moving it to SemanticHighlighting.cpp. The old inactive-as-comment implementation can share it as well.