Add harness for running Unicode.org Bidi tests.

This depends on having the BidiTest.txt file in your
$CWD when executing blink_platform_unittests:
http://www.unicode.org/Public/6.3.0/ucd/BidiTest.txt
checked in:
src/third_party/icu/source/test/testdata/BidiTest.txt

Unfortunately since we can't depend on base/ directly from
Blink we can't use base/path_service.h and thus can't
reliably find the checked-in BidiTest.txt file to run this
unittest on the bots.  For now if  BidiTest.txt is not in
$CWD it just logs an ERROR and bails without failing.

To run locally:
ninja -C out/Debug blink_platform_unittests
./out/Debug/blink_platform_unittests \
  --gtest_filter=BidiResolver.BidiTest_txt

Currently this skips all the tests for the new isolate
control characters in Unicode 6.3.  Even still, it looks like
we may have a bunch of corner cases in our UBA to fix.

WARNING: Skipped 418143 tests.
Ran 352098 tests: 44887 level failures, 19153 order failures.

I suspect there are a couple harness-integration issues
causing unnecessary level failures.  Order failures are more
likely to represent user-observable bugs.

I'm interested in getting this checked in so we can iterate
on these failures.  We should consider checking in a golden
file as well and comparing the output between runs instead of
just the gtest asserts I added.  (Revisions for a later patch!)

I split the BidiTest.txt parsing code out into its own header
which hopefully we can upstream to Unicode.org since it seems
silly for everyone to write this (non-trivial) logic themselves.
We have no business maintaining this parsing code (especially
since the test format has changed between unicode versions).

There is another bidi test file from unicode.org:
http://www.unicode.org/Public/6.3.0/ucd/BidiCharacterTest.txt
But that will require another separate parser. :(

BUG=311432

Review URL: https://codereview.chromium.org/39523002

git-svn-id: svn://svn.chromium.org/blink/trunk@161046 bbb929c8-8fbe-4397-9dbb-9b2b20218538