Added a -ns-env option to only keep the env after typing the prelude
In the current semantics, imports are elaborated into aliases, in other word for
each import is added a
module X = ...
even is the name is the same. It is necessary to be able to refer to modules
inside namespaces (with a sort-of longname) without changing too much the typing
pass. However, it has some bad properties:
- if the imports are also in the signature, the aliases are exported, which
leads to :
  - when opening, it shadows previous imports wwith the same aliases (or
  simply modules with  the same name)
  - when including, if there is an import or a declared module with the same
  name it will clash since the name as already been taken
- Using `module type of` is tricky with aliases: you cannot use an alias as a
module type for a functor argument: it must be coerced. However, coercing breaks
the weak dependency property (it becomes required), then coercion must be case
by case.

The -ns-env option only use the typing environment after typing the elaborated
prelude, but in the actual state it is not satisfying and leads to typing
issues.