* Some functions have not been ported from FilePath and are commented out:
  splitSearchPath, getSearchPath, normalise, equalFilePath, makeRelative,
  makeValid. Implementations would be accepted if you need any of these.
* combine checks hasDrive on posix, this is unnecessary
  since hasLeadingPathSeparator checks the same thing
  there. isWindows && hasDrive would cover windows while
  avoiding that overhead. Benchmark to see if it improves.
* Test suite may not build on Windows due to its use of
  getFileSystemEncoding.
* How filename encoding even works in this ByteString library should perhaps be
  documented.
