JNI: Add @JCaller annotation

@JCaller is used on a parameter in a static native method to indicate
that a native binding should be generated as if that parameter
was calling a non-static function with the same signature.

This allows for easy conversion from non-static methods to static methods
without also modifying native method signatures.

This change is motivated by an impending refactor to the new JNI
interface (which will use all static methods).

(cherry picked from commit 914bfe613854337d097db9402765fd14e51ddcd5)

Bug: 898261
Change-Id: I37b2bb5ecf2da9ef33a34a61a35a43b8e2cdb838
Reviewed-on: https://chromium-review.googlesource.com/c/1358003
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Aiden Benner <abenner@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/1361642
Cr-Commit-Position: refs/heads/master@{#613652}
5 files changed