Can't store ArrayBuffer in `localStorage`.

I've found a critical bug in `_bufferToString` for `localStorage`. Input buffer for `Uint16Array` should always have even length!! Here is test that reproduce it.

PS. Photo of my cat was made by me and I give you the rights to publish it with your code.