Add MemoryBuffer and MemoryStream

Fix #79 as requested by @M1chae1 
I proposed to add two classes `MemoryStream` and `MemoryBuffer` for representing input and output byte streams in memory (like in-memory file).
There are some differences with directly using StringStream/StringBuffer, as listed in the API documentation.
I hope these classes can be better to suit the purposes.