component_transfer: split FuncA, FuncR, FuncG, FuncB nodes.
Use a macro to generate the four variants. Each one implements the ComponentTransferFunc trait.
One more step toward the goal of having a biunivocal relation between node structs and node types.