Implement the Unicode bidirectional algorithm as per UAX #9.
Implementation should take in consideration the fact this algorithm will undergo changes for Unicode 6.3.