Scoped_handle for files.
Begin Unicode support.  Code is untested, and certainly not optimized.