Move OutlineAdapter to document (instead of activity)
Use section indexer to keep track of outline, preventing regenerating the outline when document is modified