Change static Globals to Singleton, added better testing framework for
interpreters, enable Instances to trace back where the unit was
implicitly declared.