Cherrypick: [Android] Cache injected Java objects' methods info on renderer side

Original description:

> Every invocation of Java method via an interface JS wrapper injected by Java bridge
> is preceded by a call to GetNamedProperty. As method presence can't change
> during Java object's lifetime, we should cache it on the renderer side, as every
> IPC call to the browser side is super-expensive.
>
> This optimization improves Cordova's "exec" benchmark speed by astonishing 60%, as
> we shave off half of the IPC calls.
>
> BUG=355644
>
> Review URL: https://codereview.chromium.org/381683002
>
> git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282345 0039d316-1c4b-4281-b951-d872f2087c98

Bug: 10146351

Change-Id: I2b10edc879eed69a5d3d3993e1d5a86cd250fe1b
2 files changed