big refactoring in progress, in order to use Logtk;
split many things into modules, with cleaner and more defensive interfaces;
removed Basic so that each module defines its own type(s)