[Task] Fix: Task::GetResult() must wait the task to complete.
[String] Add Utf8String::Length().
[Io] Add OutputFileStream and TextStreamWriter.
- Now only supports UTF-8 with BOM.