Some constructs will require the width of the terminal (or a general 'width') to be rendered correctly, such as tables.
Previously, all Markdown blocks had a virtual parse method which has been swapped out for a static parse method returning an OwnPtr of that block's type. The Text class also now has a static parse method that will return an Optional<Text>.