Rust updates, including `fmt::Formatter` and some `&str` -> `StrBuf` 

* `fmt::Formatter` implements write functions and the `buf` property is now private.
* Some functions returns `StrBuf` instead of `&str`.

This includes the updates from PR #86.