front: Automatic, robust, deterministic controller bias compensation.

System starts with an auto-classification of the axes based on their
max and min values as reported by Android.  We override certain special
cases (xbox 360, nyko playpad) where the auto-classifier gets it wrong.
The lookup table for handling special cases is keyed on a signature, a
concatenation of the axis codes supported by the controller.  This way
we don't need to identify each and every xbox clone controller; they
will all produce the same signature hash since they all support exactly
the same axis codes. Seems so obvious now in hindsight...
front: Added PS3 AXIS_GENERIC_n to the ignore list.

These are the pressure-sensitive face buttons of the PS3 controller.
They are rather buggy on both my official and my knock-off PS3
controllers, only giving readings for three of the four d-pad buttons
and nothing for the ABXY buttons.  So we'll just ignore them so they
don't get mapped accidentally.
front: Removed LazyProvider and all its non-determinism (yay!)

So nice to get rid of this pile of hacks.