Ensure Android callback handler always on main thread

Since the contract of AndroidDeferredManager is that the callbacks
always occur on the main thread, even if the AndroidDeferredObject is
instantiated on a background thread.