jni_generator: Pass object parameters as JavaParamRef.

Pass all object parameters to JNI functions in JavaParamRef<> wrappers.
This new type behaves like ScopedJavaLocalRef, but does not free the
local reference when it goes out of scope, since the JVM does not allow
method parameters to be freed and this causes a warning.

This CL only changes the implementation of the generator and the
signatures of JNI functions which take JavaParamRef arguments; the
minimum required to allow it to compile and work. An implicit cast from
JavaParamRef<T> to T is defined, to allow function bodies to remain
unaltered. These will be migrated over future CLs and the cast removed.

BUG=506850

Review URL: https://codereview.chromium.org/1312153003

Cr-Commit-Position: refs/heads/master@{#347379}
196 files changed