remove @@definitions from Parser#definitions and replace with an instance of Dictionary, which returns instances of Definitions

No changes are made to tokens_to_span. The subclass of Dictionary created for Parser#definitions is called SpanDefinitions, because it's being used to create spans in token_to_spans
create a Definition class, SpanDefinitions and then appropriate types of Span Definitions to handle the sets of Handler instances previously set in @@definitions

See definition.rb
create a Dictionary class and SpanDictionary subclass responsible for returning a hash of definitions as well as returning definitions for specific defined words/spans