Add the implementation/registry concept

Now egueb is able to have external documents be registered
on the library through modules. This way the different
applications (loader, window handling, whatever) can work
with *any* document