support ArrayBuffer input.
improve performance.
test cases.
ascii parameter.
coveralls.
JSHint warnings.