Allow AndroidMkData.Custom handlers to extend normal values

Pass accumulated AndroidMkData to AndroidMkData.Custom handlers
and expose WriteAndroidMkData so that Custom handlers can write
out the normal make variables and then add their own.

Test: No change to out/soong/Android-aosp_sailfish.mk
Change-Id: Id9717132bbd6c5cf3af8596f3eaa9bbb05d98e40
diff --git a/phony/phony.go b/phony/phony.go
index 5f0187f..a39b5d5 100644
--- a/phony/phony.go
+++ b/phony/phony.go
@@ -50,7 +50,7 @@
 
 func (p *phony) AndroidMk() android.AndroidMkData {
 	return android.AndroidMkData{
-		Custom: func(w io.Writer, name, prefix, moduleDir string) {
+		Custom: func(w io.Writer, name, prefix, moduleDir string, data android.AndroidMkData) {
 			fmt.Fprintln(w, "\ninclude $(CLEAR_VARS)")
 			fmt.Fprintln(w, "LOCAL_PATH :=", moduleDir)
 			fmt.Fprintln(w, "LOCAL_MODULE :=", name)