Make `wchar_t` and byte string conversions a utility

The `utf8memconv()` function now takes an extra argument to indicate
the encoding of the string that is passed in.
Forward `wchar_t` conversion to `utf8memconv()`
Make `activity_name` a UTF-8 encoded string.  Re #70

The changeset tries to make sure that allocated memory is released
properly (based completely on code review).