call __init__() in modules at init time

The improvement here should be obvious. Less duplication, more locality, etc.

This will also make it very easy for packages to support precompilation.

This does the simplest thing that could work, leaving the following unsolved:
* Order of initialization (though there is a stack, such that outer modules are initialized before inner)
* Idempotence (though the system itself will not try to init a module more than once)