Migrate IDNA2003 implementation to ICU4J.

Although this migration uses the deprecated methods in ICU4J's
IDNA implementation, this has to be done to maintain complete
compatibility with the current implementation. This is because
the android API is explicitly documented as implementing the
IDNA2003 standard.

UTS46 is a new standard which aims to ease the transition to
IDNA2008 which is the latest specification for internationalized
domain names. Unfortunately this standard cannot be used in this
instance and will need to be introduced as part of another API.

The following benchmarks show the change in performance this
CL will cause. This seems acceptable for a string conversion.

--- Java ---
    benchmark  us linear runtime
      ToAscii 804 ==============================
    ToUnicode 323 ============
    vm: app_process

--- Native ---
    benchmark    us linear runtime
      ToAscii 134.0 ==============================
    ToUnicode  89.5 ====================
    vm: app_process

Change-Id: I96440d338ceeaea63eec490f49e9a35cfa5dc1f2
6 files changed