front: Created preference for new input plugin (input-android)

input-android will be a very thin input plugin for communications
between the Android Java front-end and the Mupen64Plus native core.
It will be a simple de-evolution of input-sdl, stripping out all code
not required for the Android front-end, removing dependencies on SDL
and other libraries.
input-android: Initial check-in.

Just input-sdl renamed to input-android. As a Mupen core plugins noob,
it's easier for me to start with a working example and tear down,
rather than building the plugin from the ground up.

input-android: Removed code for loading config from Mupen API.

We are managing all input configuration using Android's scaffolding, so
we do not need to interact with Mupen's configuration file API.

input-android: Removed more stuff related to unused Mupen config API.

input-android: Tell core that all controllers are plugged.

This is just a temporary solution until the actual plugged settings can
be obtained from the front-end.  (Will require an additional JNI func.)

input-android: Removed SDL dependency completely.

This is a bare-minimum removal. A ton of unused code remains, which can
be cleaned up later.

For now, I had to break vibration and in-game pak switching, but for
the most part the plugin is completely functional as far as I can tell.
Anyhow, this is a good base to streamline from.

input-android: Removed unreachable code.

input-android: Removed unreachable __linux__ code.

input-android: Replace printf with generalized debugger calls.

input-android: Formatted code, with no other changes.

input-android: Removed #ifdef _DEBUG directives (redundant?).

input-android: Removed unused #includes.

input-android: Remove more unused code.

input-android: Consolidate some code.

input-android: More streamlining.

input-android: Code rearranged with few other changes.

input-android: Fixed debug logging and cleaned up variable names.

input-android: Remove raw data processing, and more streamlining.

input-android: Eliminated header files, removed unused function.

input-android: Deleted irrelevant doc files.

input-android: Streamlining pretty much complete.

TODO:
 - Create JNI interface to communicate
   - which controllers are plugged
   - what pak they're using
 - Verify proper operation of paks
 - Verify proper swapping of paks in-game
 - Implement rumble feature

input-android: Remove mercurial ignore file.

I don't foresee this ever being pushed upstream since it's so tightly
integrated with Mupen64Plus-AE.

input-android: Final simplifications, fixed debug logging.

TODO:
 - Create JNI interface to communicate:
   - which controllers are plugged
   - what pak they're using
 - Verify proper operation of paks
 - Verify proper swapping of paks in-game
 - Implement rumble feature

input-android: Reduce verbosity.

input-android: Tweaked variable names and formatting.

input-android: Re-added code stubs for rumble.
front: Remove input-sdl plugin and associated preference resources.
front: Removed input-sdl config file syncing (no longer needed).
input-android: Rumble working for player 1 via phone vibrator.

Tested on Diddy Kong racing. The pattern might need a little tuning in
the Java code, but otherwise working fine. The native code is basically
finished. The only remaining native items are to re-wire the debugger
to the extern implementation, but this should wait until the front-end
plugin has been slimmed down.

Remaining items on the Java side:
 - Create UI for specifying pak type. The button mappings do not
   currently work and should probably be removed. I favor using the in-
   game menu to switch paks, rather than a mapped button, as this would
   be much easier to implement.
 - Get rumble working on peripheral devices (gamepads). This will just
   require some Java code in the *Controller classes.  Presently, only
   the phone vibrator is used, and only for Player 1 rumbles.
input-android: Implemented native side of in-game pak switching.
input-android: Cleanup with no functional changes.

Formatted with Eclipse built-in C++ format "BSD/Allman" using spaces
rather than tabs.  Seems closest to most of the other native code.
front: Implemented Java infrastructure for multiplayer rumble.

TODO: Find the device vibrators and register them in Java.
front: Rumble now working for gamepads & multiplayer.

TODO:
 - Create UI for changing pak in game (and persisting to prefs).