bind: use runtime.KeepAlive to keep foreign references alive
bind: use runtime.KeepAlive to keep foreign references alive

With Go 1.8 to be released, runtime.KeepAlive is now necessary to
make sure a reference to a foreign object is not garbage collected
and finalized before we get a chance to increment its reference
count.

runtime.KeepAlive was introduced in Go 1.7 which is the minimum
version required by gomobile.

Change-Id: I32215f96e4f415ff9be7b979dd3677e067b8d201
Reviewed-on: https://go-review.googlesource.com/35954
Reviewed-by: David Crawshaw <a2f0bf29257797dd66800b4fbb9945c3e216c004@golang.org>

golang/mobile,golang/mobile,golang/mobile,golang/mobile