cpplib fragment handling
's (existing but disabled) include file cache.
Also remember chain of fragments.
logic and directive handling mostly unchanged.
After directive or file start call
Before next directive or file end call
If first time seen, tells front-end to remember declarations.
If fragment was previously-read, call-back checks dependencies for validity. On success, remembered declarations are "pushed" into top
skips forward to end of fragment.