Implement Mangling of GraphIR Terms
Part of #99: We must mangle the full module name into the name of a term as well as normalize Arbitrary Unicode Garbage in symbol names. The GIRWriter can then be updated to account for this.
We should never need to mangle the type of a declaration into the symbol (I suspect we can figure this out at runtime from the type metadata)
What about specialized functions?
We can mangle the fact that we specialized parameters, but I think specializations will be internal to the calling module so we can come up with any old naming scheme.
If we do this, we should implement demangling in the runtime, for debugging and crash tracing purposes.