Fix cyclic dependency in JavaClass and JavaObject header files.

Теперь разделено определение класса и определение функций этого класса (да и внутренних классов) по разным файлам. В результате, там где требуется только определение класса, оно там и используется. При этом например JniJavaClass.h состоит из инклудов тех двух файлов. А вот JniJavaObject.h содержит к тому же и JniJavaClassOtherDefs.h, иначе при инклуде JniJavaObject.h в пользовательский cpp-файл функции из JniJavaObjectOtherDefs.h не будут работать, потому что им нужны функции из JniJavaClassOtherDefs.h.

Еще перемещены все файлы C++ в source/jni. Нужно это или не особо тебе, не знаю.

Кроме того, добавлены тестовые проекты для Xcode, тоже особо никому не интересны.