refactored the "features" stuff into its own class, preparing for a more thorough feature collection and ML approach. codebase works, but it may break with the right PDF right now. Also, some of the events stuff is not going to work until classification.py is more fully fleshed out.