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 : rebase_source : c32966b91ac0c1c5719532e3b558c123c3d02c7e
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 : rebase_source : f5211b309488adbab3ad47e63f1a3920093a85d8
extra : source : fa85f8d8b182fad743556a012a982daad121f0b1
Bug 1102488 - Part 0: Make FxAccountConstants independent of Logger. r=rnewman

--HG--
extra : rebase_source : 5f85ea54b5afa611868c856a1027461d6c711b5f
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 : rebase_source : cdba5f056a41ec28f190dd7ebf82213a358cb3a8
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 : rebase_source : 65b374746f1630fd7c7c201a50bc2ff9dd29090d
extra : source : 48fc328377d41596900fa924b21378ba65a0df1f
Bug 1102488 - Part 3: Output preprocessed files into generated/preprocessed. r=rnewman

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

--HG--
extra : rebase_source : f82988bd98e2390889057982d322add509b2d1c9
extra : source : 05cf424592e66f30c9a6c92f07bb5d9cdf1595a6