Factor out essentially anything that is not Flux's dependent into a new package GNNlib.jl, so that in the future we can have also a Lux's based gnn package (see #372).
For the time being, with this PR we only add a copy of the relevant code into the the GNNlib.jl.
After that:
We will register GNNlib.jl package.
Actually use GNNlib.jl in GraphNeuralNetworks.jl
Turn this repo into a monorepo where the GNNlib.jl and the GraphNeuralNetworks.jl packages live side by side
Factor out essentially anything that is not Flux's dependent into a new package GNNlib.jl, so that in the future we can have also a Lux's based gnn package (see #372).
For the time being, with this PR we only add a copy of the relevant code into the the GNNlib.jl. After that: