Documentation Comments & Detailed Bug Fixing

- Fixed a bug with missing "this" context for callbacks in
  Lexer.fn.*until() and Lexer.fn.*past().

- Refactor parser-specific variables into the parser module,
  such as maxDepth. The parser is responsible for keeping track
  of such information, not the lexer itself.

- Detach the utility module "__.js" from BBM; It shouldn't be
  part of the public API.

- BBM.fn.pop() and BBM.fn.shift() now returns the removed node,
  or undefined if there's no node to remove. Previously, these
  methods returned themselves.

- Fixed a bug where white space immediately after hyperlink
  nodes simply vanished from the tree.

- Fixed a bug where the leading hyperlink tokens are not
  rendered inside hyperlink display text context.

- Fixed a bug that causes definition lists to sometimes vanish
  if definition term nodes end with SeTexT delimiters.

  Cause: When paragraphs terminate on SeTexT tokens, the parser
  does not shift beyond the SeTexT token, causing them to be
  parsed again as an empty header paragraph. This fix handles
  the exceptional case.

- Finally, jsDoc placeholder comments everywhere. Not sure how to
  render them to Markdown yet; Markdox is a little insufficient
  for inner class needs.