Supports two modes:
Room mode (default): Must be placed inside a HiyveProvider. Automatically initializes the file cache when a room is joined and disposes on leave.
Library mode: When the files prop is provided, works standalone without
HiyveProvider. Derives the file tree from the flat file list and delegates
operations to the on* callback props.
FileCacheProvider manages the file system cache for Hiyve rooms.