Ensure that frame errors are reported and errors are reported as strings.

When testing error handling, I was testing an invalid control frame (that was greater than 125 bytes) but the "onerror" callback wasn't getting called which I was expecting to be called.

This pull request includes a change to ensure that all errors reported to "onerror" are strings and that any frame decoding errors call the "onerror" callback, just like handshaking errors do.