Implements Unicode Normalization Forms C, D, KC, KD.
Copyright (c) 1991-2005 Unicode, Inc.
For documentation, see UAX#15.
The Unicode Consortium makes no expressed or implied warranty of any
kind, and assumes no liability for errors or omissions.
No liability is assumed for incidental and consequential damages
in connection with or arising out of the use of the information here.
Updates for supplementary code points: Vladimir Weinstein & Markus Scherer
Modified to remove dependency on ICU code: Michael Kay