[Filesystem] Fix and complete the API

Implement the spec.
Fix and pass the TCT tests.
Fix and complete the example.

BUG=XWALK-1071
BUG=XWALK-1827
at this stage, we already know encoding is supported since we've converted from it previously and we are sure that the utf8buffer contains valid UTF8 chars and that in_buffer is big enough (we are just reversing a subset of previous conversion). Not convinced? ;)