Fix font size handling for harfbuzz hack

Complex languages (Arabic, Thai, etc.) currently need to override the
base font (e.g. Roboto)  with an explicitly loaded copy of the right
fallback font (e.g. DroidNaskh). To keep from running out of file
descriptors, a caching mechanism was put in place, but the cached
data contained the font size, so the first size seen on the page was
applied to all subsequent renderings of that font, regardless of the
size requested. Size is now also considered in the cache.

Bug: 5509443
Change-Id: I616954980122e89da14ce86efe99d5e4343a40c2
Add necessary null pointer check to avoid crash on youtube video

bug:5562347
Change-Id: I9b53a58137d70955bde5334c7c8b581343a8c2ce
Merge "Add necessary null pointer check to avoid crash on youtube video" into ics-mr1
Revert crash on bad scale - do not merge

bug:5367327

Cherry pick of: dc193f393a845e88f55ecf0055386fc4e4204537

Change-Id: Iea6e4a564fc003d8e2ad8e1d6d9d9b64d016e43d
Merge "Revert crash on bad scale - do not merge" into ics-mr1
merge in ics-mr1-release history after reset to ics-mr1
Add support for Bengali and Tamil gpos/gsub tables

HB_Script_Bengali and HB_Script_Tamil are now recognized in
FontAndroid.cpp and map to Lohit-Bengali.ttf and Lohit-Tamil.ttf,
allowing Harfbuzz to properly load the gpos/gsub tables for those
languages.

Bug: 5578901
Change-Id: I20ed542dd5a616535222dcb5c808f3716a062e80
Merge "Add support for Bengali and Tamil gpos/gsub tables" into ics-mr1
Merge "Fix font size handling for harfbuzz hack" into ics-mr1
DO NOT MERGE Offset scroll area by the scroll origin on Android

 Bug 5268793
 The scrolled area for WebView is 0,0 - maxX,maxY while
 ScrollView can have any origin. On RTL pages, the origin
 is negative when it can scroll. This scrolls the page
 to the right when it detects an RTL page.

 Cherry-picked from master CL: I6a91b97f

 Framework CL: I2537b84a

Change-Id: I6a91b97f90f5ba4c323c56dda9d125108d9502c4
Support pausing drawing

 Bug: 5594608

Change-Id: I09590f8c04904957b079f0458022b960599eb47a
Fix CTS regressions from merge to r74534.

WebKit change http://trac.webkit.org/changeset/73385 removed
overflow dimensions from the calculation of layer dimensions.
This means that the optimisation inside the nav cache to skip
building a frame cache when one of the layer dimensions is 0
is no longer valid (as the layer may contain only overflow
content).

Bug: 5572431

Change-Id: I3c973ad1ed57b07217d19f5d4fba7bfe522a2165
merge in ics-mr1-release history after reset to ics-mr1
Merge "DO NOT MERGE Offset scroll area by the scroll origin on Android" into ics-mr1
Merge "Support pausing drawing" into ics-mr1
Merge "Fix CTS regressions from merge to r74534." into ics-mr1
Fix combobox metrics and asset scaling

    Bug: 5521553

Change-Id: I630eda2ffd90d0c986f00c5a2a4b523e93537192
Use anti-aliasing in prefetch tiles

bug:5534278
Change-Id: I5929752a9edcf3cd1c51360e0dc4d8df6ae6bb1e
Merge "Use anti-aliasing in prefetch tiles" into ics-mr1
Fallback mode when running out of textures for layers

- Implements a degraded rendering mode when running out of textures
- Speed up rendering by reusing the same SkBitmap in RasterRenderer
- Some refactoring

bug:5279231

Change-Id: I52943a87bed56c49b01b47fea4fa1a5c49e09e93