Fix non-C99 variable declarations
bugfix: properly test null function pointer before use
Enable list iterator compile time checks

The gnu c compiler can use its preprocessor functionality to generate code
which causes compile time warnings when a wrong type for the iterator element
is used in the list helpers.

This code was removed earlier because MSVC doesn't support typeof(x).
Add video-glide64mk2 to m64p_helper_scripts
front: Fixed a lint error regarding API.
Move Makefiles for upstream modules to projects/android

The upstream modules store all project files in a projects/${PROJECT_TYPE}
directory. Using the same scheme for the Android target maybe makes it
easier for an upstream merge.
rsp-hle: Merge together with rsp-hle-nosound

The only difference between rsp-hle and rsp-hle-nosound is a small hack
which disables the audio microcode emulation. Merging both together allows
an easier merging of upstream changes.

The difference is now handled by the preprocessor. A configuration option
should be considered for the future.
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).
Eliminated compiler warnings about implicit pointer-to-int casts.

Using Android NDK-r8d build tools (GNU Make 3.81, gcc 4.6) generates the
following warnings in Eclipse:
warning: assignment makes integer from pointer without a cast [enabled by default]
warning: initialization makes integer from pointer without a cast [enabled by default]
SDL: Fixed "stale global reference" causes
These changes were cherry-picked from SDL 2.  I'll be fully upgrading to SDL 2, so this is just a temporary fix in the mean time.
acra: Tweaked logcat settings for more lines and limit to mupen pid.
Merge branch 'master' into paulscode/issue-30