Use grunt
Trim trailing whitespace
Use unorm.js from lib for running tests in src/
Fix trivial jshint issues
Remove arguments.callee
Simplify strategy building loop
Majorly refactor fromCharCode

- Do not define strategies inside fromCharCode
- fromCharCode is a simple reduce of strategies
- Create cache object already before first execution