v38: Become JIT-agnostic

These changes make it possible to detect JIT support at runtime and
adjust the offsets for some structure members dynamically.
v39: Copy more bytes for the backup of the original method

Xposed caused strange effects on the Genymotion emulator. I tracked
this down to an additional attribute they had added to the Method
structure. As the size of the structure is determined at compile
time, this attribute wasn't stored in the list of original methods.
Therefore its value was undefined during the invokation.

Now 16 additional bytes are copied for each method that is hooked.
That should be enough, such modifications are very rare.
v40: Get rid of /data/xposed
fix type to avoid compiler warnings
v41: avoid dexProtoCompare (missing on some ICS ROMs)
fix function declaration
another fix for x86 build
v42: Hack to get Xposed fully working on MIUI

See XposedBridge v36 log message for more details.
merge with rovo/v42 => v42.1
merge with revo/v42 done