[Android_GUI] Brand new shiny app!

The new application combines the functionality of the old patcher and
switcher apps in an intuitive (hopefully) cards UI. All of the
functionality from both applications are retained (including the
ability to patch a file using an implicit intent).

Changes to the application in general:
- The awesome cardslib library is now used for drawing the cards UI.
- Multiple actions can be performed at the same time. For example,
  patching a file and selecting a ROM can be done simultaneously
  (when the patcher is not launched from the PATCH_FILE intent).
  However, at the moment, there is no guard against setting the kernel
  and switching the ROM at the same time. Let's just say dd'ing to and
  from a partition at the same time is not the best idea...
- The application is fully translatable now. The patcher backend will
  be made translatable in a future commit.
- The about screen now has links to the source code, XDA thread, and
  license information.
- No more dialogs boxes!
- A navigation drawer is now used to switch between the various
  features of the application.

Changes in the switcher portion:
- Add ACCESS_SUPERUSER permission for root access to read and write to
  the 'boot' partition
- The switcher now has the ability to show thumbnails for the ROMs.
  Currently, there are icons for SlimRoms, CyanogenMod, and OmniRom.
- The lack/denial of root privileges is handled more gracefully than
  the old switcher application and no longer requires the app to be
  restarted to reacquire root access.
- Like the patcher, all of the switching actions are done via a
  service now.

Changes in the patcher portion:
- The ability to customize the patcher for patching unsupported files
  has been added. This works by parsing a JSON dump of the supported
  configurations and options by the patcher. This feature is available
  interactively for now. The PATCH_FILE intent does not have access to
  this feature.
- It is now possible to patch files for any device supported by the
  patcher in a single version of the application. This is configurable
  when launching the PATCH_FILE intent and if omitted, the patcher will
  use the device name (codename) as reported by Android.
- With the above two additions, the Android application is now at
  feature parity with the command line program and the PyQt5
  application.
patchfile.py: Add option to supressing questions (automated)
patchfile.py: Add '.def' to ramdisk name if it isn't there already
patchfile.py: Don't complain about the partition configuration when checking to determine if a file is supported