[Android] Initial implementation of the new input UI.

Testing may be further required. But it should work for the most part.
[Android] Woops forgot to commit the new resource strings.
[Android] Apparently I also forgot to commit the input menu layout.
[Android] Document the event callback system used in the Settings menu in large detail.
[Android] Fixed a typo in the event callback system documentation.
[Android] My bad, somehow the Java file in the previous commit got encoded with UTF8+BOM.
[Android] Finish documenting the native functions in NativeLibrary.java.
[Android] Greatly simplify the input handling for the button mapping settings. Now input handling is directly in the fragment.
Merge branch 'android-new-input-ui'
[Android] Make the dialog variable in InputConfigFragment a local variable in onPreferenceTreeClick. With the new input UI, this doesn't need to be accessible to other classes.

Also change the documentation of the custom dialog class.
[Android] Only dismiss the input dialog when an input is registered. Before it would dismiss upon the first event. Fixes a bug where control sticks wouldn't register because of the AlertDialog closing immediately after the "if (firstEvent)" branch.
[Android] Remove the explicit key event listener from InputConfigFragment. The AlertDialog class has a key listener built into it.

Also documented the methods/interfaces in MotionAlertDialog.
[Android] Add wad file support.
ogl driverdetails: add flag to disable hacked and pinned memory

pinned memory is broken for index buffers
hacked buffer crashes the amd driver
ogl: reset api state for blitting

glBlitFramebuffer depends on scissior test and color mask. It isn't documented well,
but it does. So we have to reset the apistate before using it.
In this way, there isn't any benefit of glBlitFramebuffer, glDrawArray would be better :-(