Use runs emitted by icu-bidi to implement Unicode bidi algorithm.

This ensures that mixed rtl/ltr text is laid out properly, according to the
unicode bidi algorithm.

Change-Id: I7483efb672b626bea9cad26fb67c617376b46841
Bidi improvements: turn off script-specific OpenFont features for LTR embeds.

The Arabic font has OpenType-specific features that flip parentheses and
reorder type.  Turn these off when we are processing LTR embeds in order
to get citations to render correctly.

Also suck short LTR digit sequences into the RTL context to let the font
do its thing (and to avoid breaking up citations hyperlinks unnecessarily).

We also tweak the handling of section headings to ensure that LTR sections
at the start of a section title (typically digit sequences) don't cause
the entire section heading to switch to LTR mode.

Change-Id: Iac30ec04dcc037b8d8dee4724a7e16a237529429