chore(cleanup): Fix warnings in lib/tools

I made `Code` implement `Expression` and `DartCodeGen` and `DartGetterSetterGen` implement `ParserBacked` to eliminate the warnings, though it looks like a deeper refactoring would ultimately be better. There appears to be a viable split between creating an AST and creating callable objects.