[pre-RFC] Name mangling in IRModules

Name supplies usually have both a cache lookup:

name_supply.UniqueGlobalFor("__main__")

and a hinted fresh name generator:

name_supply.FreshGlobalWithPrefix("my_module", "my_var", "any_other_prefix")