In-memory filesystem for tests and embedders.
@type t() :: %EditorConfig.FileSystem.Memory{files: %{required(Path.t()) => binary()}}
@spec exists?(t(), Path.t()) :: boolean()
@spec new(%{required(Path.t()) => binary()}) :: t()
@spec read(t(), Path.t()) :: {:ok, binary()} | {:error, :enoent}