The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object.
Replaces GLib's GError.
Migrate all callers to use Path directly, instead of doing the conversion in each caller.