Try a new output method using open_memstream()
  - modify sys_read() in io.c to use a mock output FILE* to trick the output code
    (this method is different from my previous prototype method, and it maybe more
	 suitable and elegant to do output staff), need to try on more functions.
  - finish some basic test framework, still need to do a lot work.
Merge branch 'devel'
Merge branch 'master' into devel