Enabling offsets in MemoryIndex

This allows for reusing the memory index pool for more advanced usages from consumer applications, for example through a highlighting percolator (see separate PR)