use FFI for dlopen() and determining paths

we can use FFI and JNI to aquire paths from the Android framework.
That way, the C launcher can stay quite simple, plus we might reuse
the JNI gateway later in Lua code.

Also, lo_dlopen() is dropped (mainly for license concerns) and
replaced by a Lua/FFI based version.