After dicussion in PR #57 my proposal would be to wrap all functions in lfs taking a path so that it is converted to unicode. Functions that return paths would convert them from unicode to UTF-8.
In order to keep compability io.open and other Lua functions taking paths would be overloaded by functions from lfs (lfs.open lfs.remove) so that would be lfs 1.8 (instead of 2.0)