[Checkpoint] Major refactoring, stable menus, broken emulation.

Changelog:
- Major refactoring over entire source.
    - MenuActivity, MainActivity, GameActivity streamlined a bit, implementation broken down, some moved to feature-specific classes.
    - Trying to factor touchpad and touchscreen code into a common abstraction (AbstractController.java), still a lot of work to do, left it pretty messy for the moment.
    - Migrated many global variables into classes, limiting many to local scope now.
    - Renamed a lot of classes and functions, trying to use a consistent taxonomy of names to highlight code structure and class relationships (e.g. AbstractController, TouchscreenController, XperiaPlayController, GamepadController)
- Added more subpackages to simplify code browsing and highlight code structure.
    - Activities and views still in root package.
    - Utility classes in 'util' subpackage.
    - Classes relating to persistent data (appdata, user prefs, pathnames, etc.) in 'persistent' subpackage.
    - Controller abstractions (touchscreen, touchpad, gamepad, etc) in the 'input' subpackage.
    - Hardware listeners and translators in 'input.transform'.
- Migrated a lot of app data to a SharedPreferences-based implementation, to simplify persistence, access, and reset.
- Expanded the convenience/wrapper classes that simplify and speed read access for user prefs, app data.
- Consolidated native code into NativeMethods.java
    - Just a bunch of wrappers, implementation in focused classes.
    - Names properly updated in the C++ code.
- Notification (toast and status bar) encapsulated in a simple class, callable from any activity.
- Re-implemented the file/directory preference (PathPreference.java) for more intuitive behavior.
    - Removed radio button icons (confusing)
    - Optionally, user can be limited to selecting only files or only directories
    - This option can be set in the XML file
- Simplified the selection of touchscreen layout (layout and size are separate options).
- Added a user preference for the save-game location.
- Moved the ingame menu definition to an XML resource, removed exit function from menus.
- Lots of tweaks to various XML resource files
- Removed some obsolete activities from AndroidManifest.xml.
- Thorough javadoc comments for a number of files.

TODO:
- Diagnose and correct force close on game launch (something broke during refactoring)
- Get basic emulation capabilities back up and running
- Continue consolidating globals, reconnecting functionality.
- The play option in main menu should be disabled or not present until a game is selected (or possibly bring up the file browser)
- Improve input mapping dialog
    - Improve user friendliness
    - Is it necessary to have user hold down an icon while pushing a button at the same time?  A listener that pops up after selecting a button to map is more intuitive.
    - There needs to be a way to unmap a button [Actually there is, it just needs to be obvious]
    - While it shouldn't be necessary to show what key a button is mapped to, it might be good to somehow indicate if a button is not mapped
    - Figure out why key listening isn't working in InputMapPreference.java.
    - Figure out strange focus behavior in InputMapPreference.java.