Build the include tree: parse source as the main file, resolve each include("path"),
load and parse those files (with circular include detection), and return the tree.
Collect (start_byte, end_byte, path_string) for each include("...") in the file.
Used by the LSP to provide document links and go-to-definition on include paths.