EBNF Grammar Specification Draft

- Begin writing block-level portion of the grammar
  specification, using the old (1.x) branch specification
  as reference.

- Clarify BlockID and BlockClass logic.

- Trim away unnecessary descriptive content.

- Consider: Relax URL Anchor lookup logic; Only a global
  symbol table mapping of Idenitifier -> URL should be
  necessary.

- Consider: Relax blank block element requirement; If
  specified as an option, they'll be removed from the
  tree; Otherwise they're part of the syntax tree.

- Consider: Drop the bracket balancing requirement in
  Link Continuation grammar `-[Display Text]`. Remove
  the ability to format text, such as bold and italic
  in that context.

- TODO: Specify error recovery behavior in case a
  formatting or hyperlink element is not properly closed.

  One possible solution is to just apply the effect as
  if the element is properly closed, consuming the rest of
  the paragraph as content. Then, put a warning onto the
  message stack specifying where the error occured.