func Approve
crossing ActionApprove sets an allowance owned by the immediate caller. A direct user call updates the user's allowance. A realm cross-call updates the calling realm's allowance.
This differs from calling `Get(tokenKey).CallerTeller().Approve` within that realm, which updates the allowance of the realm's previous caller. To act as your own realm explicitly, use `Get(tokenKey).RealmTeller(0, cur)`.