compat: Make sure host is not null.
Implement IDO (well, part of it anyway).
Make libido a library, rather than a user-loadable module.