Add NULL pointer check for canvas in GLES20RenderLayer

The canvas member in GLES20RenderLayer is possibly NULL
when some lower level OpenGL API leads to some error.
Such error includes something like insufficient memory
for texture creation. Once the NULL pointer of
canvas is encountered in start API, it should be
correctly detected. A NULL pointer is returned by
start API to indicate failure of canvas creation,
which should be further processed by callers.

Change-Id: Iddfdda0f577a4a01fc0e729b12ccffa4479e60ae
Signed-off-by: Allen Shen <ashen@nvidia.com>
[HWUI] Infinite recursion in PathTessellator::recursiveQuadraticBezierVertices()

Symptom: In some cases like the distance between the calculating point is very
         small, the recursion may not terminate.
         If the calculated dx and dy are 0, d is 0 too. Then the termination
         condition(d*d < TH*TH*(dx*dx*sq + dy*dy*sq)) will never be met.
         Infinite recursion will cause stack-overflow.

Solution: We added one more threshold to terminate the recursion when d is very
          small (possibly 0).

Change-Id: I7d27a72811109766766f8f8cc5d8d88e75db7f60
Add system setting for t9 search input locale

Change-Id: I780b3cca1ad2da396b76464a6dab5cc53f621ed2
IconPackHelper: Don't respect an icons original size if too large.

  - Otherwise, if an application isn't following app icon guidelines,
  it can create an OOM situation when creating the new icon based
  on the original resource's height and width.

Change-Id: I9430445da5e393cdbf76ed9ebd9698bf30df6a95