Less globals

Globals `smalltalk`, `nil` and `_st` are changed to closure variables.
True globals are never used directly, just put as parameters to wrapping IIFEs.
The globals are also renamed to be sure everywhere closure locals are used.

This decoupling is first step to allow packages work with as extemal modules.