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 : 43078ddab5f467fca91a53444319cefcb9c28cac
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 : 5bee2fdd86d85d9baa3d9458edc50edbd908f0a5
Bug 1102488 - Part 0: Make FxAccountConstants independent of Logger. r=rnewman

--HG--
extra : rebase_source : eec086063519fd73c3869916378718a4a051a853
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 : 6504b2324fb7534217163e21218c194df0505a75
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 : 485cc43e525fd3de63c186bd20fcb049d29129ca
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 : d292f913bbd3c070e55660174ce66277efd46754