add missing library files
reworked structure, fix tests

- add class/method hooks execute based on a predicate
- extract ClassInfo, MethodInfo classes
- move ClassVisitor out of Generator
- hopefully fix tests(once again)