Significant refactor: logically organized parsers

I also did a significant refactor of LexicalCategory and associated classes.
Now, LFGLexicalCategory is a trait with a simple API it exposes to the
LexicalFunctionalGrammar which can be implemented as a simple "set of lexical
categories" or as something much more complicated, which perhaps would do
morphological analysis and lexical transformations (so we wouldn't have to store
a huge vocabulary, or so we could calculate a word's F-Description by the
F-Descriptions of, perhaps, component morphemes---or even a grammar that defines
word structure!).