Block parser: converts a list of block-level Tokens into Block AST nodes.
Phase 2 handles leaf blocks only. Paragraphs and headings produce stub inline content (Inline.Text) that will be replaced in the inline pass.
Inline.Text