Make android.ModuleContext not include blueprint.ModuleContext

android.ModuleContext should replace the blueprint.ModuleContext
methods with ones that take android.Module parameters instead of
blueprint.Module parameters.  As a first step, don't include
blueprint.ModuleContext in android.ModuleContext and manually
specify the methods from blueprint.ModuleContext that we need.
Future patches will replace these methods with ones that take
android.* types.  Also do the same for TopDownMutatorContext.

Test: m checkbuild
Change-Id: If11c298eed98bc65712b4942d0283cafa058726c
diff --git a/android/mutator.go b/android/mutator.go
index 66a1bad..b485940 100644
--- a/android/mutator.go
+++ b/android/mutator.go
@@ -107,8 +107,27 @@
 type AndroidTopDownMutator func(TopDownMutatorContext)
 
 type TopDownMutatorContext interface {
-	blueprint.TopDownMutatorContext
+	blueprint.BaseModuleContext
 	androidBaseContext
+
+	OtherModuleExists(name string) bool
+	Rename(name string)
+	Module() blueprint.Module
+
+	OtherModuleName(m blueprint.Module) string
+	OtherModuleErrorf(m blueprint.Module, fmt string, args ...interface{})
+	OtherModuleDependencyTag(m blueprint.Module) blueprint.DependencyTag
+
+	CreateModule(blueprint.ModuleFactory, ...interface{})
+
+	GetDirectDepWithTag(name string, tag blueprint.DependencyTag) blueprint.Module
+	GetDirectDep(name string) (blueprint.Module, blueprint.DependencyTag)
+
+	VisitDirectDeps(visit func(blueprint.Module))
+	VisitDirectDepsIf(pred func(blueprint.Module) bool, visit func(blueprint.Module))
+	VisitDepsDepthFirst(visit func(blueprint.Module))
+	VisitDepsDepthFirstIf(pred func(blueprint.Module) bool, visit func(blueprint.Module))
+	WalkDeps(visit func(blueprint.Module, blueprint.Module) bool)
 }
 
 type androidTopDownMutatorContext struct {