GHC compatible unicode functions.

This patched adds unicode-gen.js, which is adapted from GHC's ubconfc script. It generates JavaScript code with the unicode data, and JavaScript code to binary search through it. Because the code is generated in the same way, these unicode functions are fully compatible with GHC.

The resulting unicode.js is 140k. But after Google Closure Compiler's advanced optimizations, it becomes only 56k.