Add support to detect bidirectional level.

This increases the test suite execution time to over the slow limit since we have to concatenate the text nodes after they're parsed. We could have parseContent() return the DOM tree and the concatenated nodes since it already has to loop through it to begin with to speed it up a bit.

There is probably a better place to put the huge RTL unicode char array.