Add new GraoTools and GraoGenerator

Huge refactoring.