The finite element space has a shared_ptr<Prolongation> prol member, that has to be set in the space constructor to your custom prolongation. To see how such prolongations are implemented you can have a look at the ngsolve/multigrid/prolongation.*pp files.
Best Christopher