Zero-Copy Object-Stream Slices

When link resolution first materialises a compressed /Type /ObjStm member, the parser now reads a zero-copy slice view over the shared decompressed container buffer instead of a duplicated substring plus a second stream copy, so large documents with many members no longer pay a double copy per object

THPDFObjectStreamSliceStream

A public read-only TStream view over (source, offset, length): it holds the source AnsiString by reference so the container bytes stay alive without duplicating them, serves exactly the member bytes, appends one virtual trailing LF so parsers observe the layout the legacy copy produced, and clamps rather than raising on seeks before the slice start, matching TMemoryStream leniency

THPDFObjectStreamCacheInfo

Two new diagnostics report the zero-copy path: SliceViewCount counts the member views passed to the parser and SliceViewBytes sums the member bytes they covered, alongside the existing container, indexing, hit, miss and cached-byte counters returned by GetLoadedObjectStreamCacheInfo