Make EqualModules a free function.

Bug: 377723687
Test: Unit tests and compare the ninja and mk files generated.
Change-Id: I7e00f09a15f2857f58bea70bcedc4798630a40bc
diff --git a/android/module.go b/android/module.go
index d196481..85909b6 100644
--- a/android/module.go
+++ b/android/module.go
@@ -1665,7 +1665,7 @@
 		var checkbuildTarget Path
 		var uncheckedModule bool
 		var skipAndroidMkProcessing bool
-		if ctx.EqualModules(m.module, module) {
+		if EqualModules(m.module, module) {
 			allInstalledFiles = append(allInstalledFiles, ctx.installFiles...)
 			checkbuildTarget = ctx.checkbuildTarget
 			uncheckedModule = ctx.uncheckedModule
@@ -2931,7 +2931,6 @@
 	OtherModuleProviderContext
 	Module() Module
 	GetOutputFiles() OutputFilesInfo
-	EqualModules(m1, m2 Module) bool
 }
 
 // TODO(b/397766191): Change the signature to take ModuleProxy
@@ -2943,7 +2942,7 @@
 	}
 
 	if octx, ok := ctx.(OutputFilesProviderModuleContext); ok {
-		if octx.EqualModules(octx.Module(), module) {
+		if EqualModules(octx.Module(), module) {
 			// It is the current module, we can access the srcs through interface
 			if sourceFileProducer, ok := module.(SourceFileProducer); ok {
 				return sourceFileProducer.Srcs(), nil
@@ -2971,7 +2970,7 @@
 	fromProperty := false
 
 	if mctx, isMctx := ctx.(OutputFilesProviderModuleContext); isMctx {
-		if !mctx.EqualModules(mctx.Module(), module) {
+		if !EqualModules(mctx.Module(), module) {
 			outputFiles, _ = OtherModuleProvider(mctx, module, OutputFilesProvider)
 		} else {
 			outputFiles = mctx.GetOutputFiles()