Message: allow base64 strings as input

Follow up to #230 with the corrections as specified by @weilu and my self.
There has been no significant progress solving #231 gracefully to date, so until then, I think it is best we provide this behaviour in the API.

Haven't heard from @kyledrake for a while, so I decided to do this separately.