Did a couple of improvements to the websocket implementation

Sometimes it just read the incoming data too fast. So it basically
read the next frame already, meaning it just got 'useless' data.
Now it'll just read out the header, calculate the length from that
(only supports 125 <= atm), read the mask. And read the length amount
of bytes. This 125 <= limitation is just because of laziness atm, no
real issue atm as pretty much all incoming commands are less than that
anyway.

Signed-off-by: Toon Schoenmakers <nighteyes1993@gmail.com>