loaders: register loaded models on self even if self is not root

The current code was not registering new projects on self if self was
not the root loader. It makes no sense, we want to forward to the root
loader *and* register locally so that one can "listen" to a particular
loader object regardless of its place in the hierarchy