Bug 1102339 - Don't generate widget/Themed*.java. r=rnewman

This lands the widget/Themed*.java sources into the tree and provides
a simple script for regenerating them in the source tree.  Use it
like:

<edit mobile/android/base/widget/ThemedView.java.frag>
$ ./mach python mobile/android/base/widget/generate_themed_views.py
$ hg diff
... changes to Themed*java

--HG--
extra : source : 4bcc69eb4a27db09b2423c52c22a0c07baffd7d0
Bug 1102488 - Pre: Remove unused cruft. r=rnewman

I am thrilled that we no longer generate any Java files with "package
@ANDROID_PACKAGE_NAME@;".  Progress, a little at a time!

--HG--
extra : source : fa85f8d8b182fad743556a012a982daad121f0b1
Bug 1102488 - Part 0: Make FxAccountConstants independent of Logger. r=rnewman

--HG--
extra : source : 8d1d39582e497c2c47400740304bdc98f0aef0a7
Bug 1102488 - Part 1: Factor out constants JAR. r=rnewman

The constants JAR contains AppConstants and SysInfo.  SysInfo depended
on HardwareUtils for one function, which can (should?) be in SysInfo
anyway, so I moved it.

Both SysInfo and AppConstants should be available to Robocop tests,
but they are compiled too early to access RobocopTarget.  Since
nothing in GeckoView should know about GeckoView, I moved the
annotation to the Fennec-level proguard.cfg.

--HG--
extra : source : d2c14599cbab6c476465a6ba142c7c2501895cb3
Bug 1102488 - Part 2: Don't preprocess GeckoLoader. r=rnewman

I replaced the compile-time ANDROID_PACKAGE_NAME with the run-time
context.getPackageName() for two reasons:

1) I claim this is more correct.  It's hard to imagine Fennec working
with ANDROID_PACKAGE_NAME != context.getPackageName(), but right here
we should use the run-time, not the build-time state.

2) GeckoLoader is part of GeckoView, and as such it shouldn't assume
anything about the package it's running as.

GeckoView consumers may ship for multiple architectures, so we
shouldn't assume anything about the build-time architecture, but the
reference to MOZ_CPU_ABI is purely diagnostic.  There are substantive
changes to make here; we'll cross that bridge some other time.

--HG--
extra : source : 48fc328377d41596900fa924b21378ba65a0df1f
Bug 1102488 - Part 3: Output preprocessed files into generated/preprocessed. r=rnewman
(Pushing to a CLOSED TREE because this is Android only.)

The preprocessed files, all of which are constant exports, are exposed
in the new constants JAR.

--HG--
extra : source : 05cf424592e66f30c9a6c92f07bb5d9cdf1595a6
extra : amend_source : fda465d3aa6ed282bfa2b9542358ffd1cf2d1177