Lexer Modification, Filling TODOs

- Moved BBM patterns and associated name back into
  the Lexer itself, then expose its type enum.

  Reason: These tokens are only useful in the context
  of this particular markup language.

- Replace TODO placeholders with actual names, such as
  string trimming.