Use pretty name mangling, e.g. '~' becomes "$tilde"

Copied directly from how Scala mangles operators.

Fixes #150