Don't UTF-8 encode packets unless asked.

Still done in payload encoding for polling, but no need with WebSockets since it deals with UTF-8 itself. Polling will require us to use a binary responseType, which is why we need to perform an encoding of multibyte characters to be able to mix binary and strings in a single encoding format.

Addressing https://github.com/Automattic/engine.io-client/issues/322