Refactoring pack (merged read+write methods of each engine into "actions" and much more).
+ Added JSHint project configuration, fixed code to match it.
+ Added JSHint runner as QUnit test (using `XMLHttpRequest` in browser and `fs` module in Node.js, so won't work locally). JSHint does not work in IE<9 but it's not smth we should be worried about.
+ Changed optional string encoding parameter from boolean to string.
+ Added tests for UTF-8 encoded strings.