Enable characters to inherit from templates defined in different files
across the project structure.
- Add file_index field to NameEntry to track declaration source files
- Update NameTable::from_files() to set file indices when merging tables
- Change conversion pipeline to pass &[ast::File] instead of flat arrays
- Update merge functions to use two-level indexing:
all_files[entry.file_index].declarations[entry.decl_index]
- Update all affected tests to use new signatures