0073: Single files stage directly from native paths

Status: accepted for development C ABI 53.

Decision

Use pp_transaction_import_file and pp_transaction_add_file_representation for single files. Remove pp_media_source_create_file; constructing and releasing a source owner adds no useful information to this case. Compound-source operations keep their explicit sequence, ordered-part and package inputs.

Both file and compound operations use the same preparation and staging functions. Keep fingerprinting, stable IDs, automatic effect capture, proposal preparation/replay, atomic commit and rollback behavior. Failed staging clears the output ID, leaves the edit open and adds no mutation. Paths are borrowed NUL-terminated UTF-8 during the C call.

Python accepts paths directly and removes the redundant FileSource class. Its MediaSource annotation includes paths and compound inputs. C++ accepts std::filesystem::path and existing UTF-8 path strings implicitly, and removes the redundant MediaSource::file factory. File staging in both bindings calls the native file operation without allocating a source owner.

Migration and standards impact

Replace C source creation/import/release with one file operation. Pass paths instead of Python FileSource or C++ MediaSource::file wrappers. ABI 53 now has 344 exports and 38 public layouts.

Reviewed against the contributor standards policy: representation meaning, storage and exchange formats are unchanged. No file recognition, identifier normalization or standards mapping is added.