Idiomatic Go implementation

I've taken the liberty to create an idiomatic Go implementation of this WebSocket wrapper for my own uses.

WebSocket now implements `io.Writer` and most calls are blocking. I began to implement the `io.Reader` interface, but decided that the refactor needed for buffering would be more appropriate for a separate implementation.