nitg: intro of the FFI with java

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: support compilation of Java files to .jar

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
tests: intro tests for the FFI with Java

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/java: add services to support Java strings

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
tests: adds a test for java strings

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/jvm: change a C function to a Nit extern method

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/jvm: rename JObject class to JavaObject

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/java: intro JavaObject::new/release_global_ref

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/java: improve documentation

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Merge: FFI with Java

Supports:

* Implementing Nit methods in Java
* Associating a Nit extern class to a Java type
* Callback Nit from Java code

To do next:

* Write the manual
* Support callbacks to super and casts (which also implies have static types in Java)
* Support Java code on Android
* Add more complexe examples, such as using an external .jar

Pull-Request: #396
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>