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

Copied directly from how Scala mangles operators.

Fixes #150
Merge pull request #151 from puffnfresh/name-mangling

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