Draft: Store text blocks inline in the buffer
It reduces allocations and reduces the extra indirection we do when accessing a block thereby improving efficiency. As a bonus, this will allow better const correctness. It also paves the way for more improvements e.g., storing startLines contigously instead of per block
I have used this for a while and so far haven't seen issues.