Beginnings of ExactCalculator based on L

Replace the arity library with a new evaluation engine based on
an open source "constructive reals" library.  This provides answers
that are correct to the last displayed digit, and can be scrolled to
get more precision, with evaluation to additional precision
proceeding on demand.

This uses pieces of an old prototype calculator with a
pre-Material-Design UI.  Since the code structure of the KitKat and
Lollipop calculators is quite different, this merge required major
changes to make the pieces fit again.  An egregious bug in the
prototype related to the evaluation of the power operator was
fixed.  Many new UI bugs are introduced to compensate :-)

Add separate buttons for inverse trig functions.

Add long TODO lists for various missing pieces.

This is really designed to get something up and running
that looks like it has a Material Design UI.

This version kind of works, though with many UI deficiencies.

This addresses external issues 63368, 81089, and 80990.  It
partially address the degree vs radian (80330) issue as well,
though we're still missing the UI for that.

This fixes

Bug:15284587

(More work is needed to make this interact correctly with keyboard support.)

Degree/Radian mode is also internal

Bug:17059768

This provides much more robust solutions to the following, which were
previously fixed by favoring round numbers over precise solutions:

Bug:15747298
Bug:15332726

Change-Id: Ib64ffcee9760a3195ae2a48302308eeb09a156bd
diff --git a/src/com/android/calculator2/CalculatorEditText.java b/src/com/android/calculator2/CalculatorEditText.java
index 5a0d8ba..380aa81 100644
--- a/src/com/android/calculator2/CalculatorEditText.java
+++ b/src/com/android/calculator2/CalculatorEditText.java
@@ -33,6 +33,10 @@
 import android.widget.EditText;
 import android.widget.TextView;
 
+/**
+ * EditText adapted for Calculator display.
+ */
+
 public class CalculatorEditText extends EditText {
 
     private final static ActionMode.Callback NO_SELECTION_ACTION_MODE_CALLBACK =
@@ -117,6 +121,8 @@
         setTextSize(TypedValue.COMPLEX_UNIT_PX, getVariableTextSize(getText().toString()));
     }
 
+    public int getWidthConstraint() { return mWidthConstraint; }
+
     @Override
     public Parcelable onSaveInstanceState() {
         super.onSaveInstanceState();