optimization: {active, once} only set when needed

Currently all messages sent to a websocket_handler process will trigger
the option {active, once} to be set on the socket. This causes
unnecessary time to be spent setting an option that is already set.
This is especially true for websockets that primarily listen for
messages from other processes and forward them to the connected client.
{active, once} only needs to be set on the socket after a data packet
has been received, and once at the start of the wesocket to "prime the
pump".