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.
Merge remote-tracking branch 'origin/master'

Conflicts:
	xposed.cpp
switch to member_ptr macro