Remove direct references to #websocket_req{} and hide it fully inside an...

... accessor module

I'm not 100% convinced about the websocket_req:new/1 function. It just seems... wrong.

Also this API means that updating more than 1 field is kinda clunky. Does the dynarec stuff you mentioned the other day provide a better interface?

I guess an improvement would be to add a function for updating the record from a proplist (as per websocket_req:new/1) for multiple fields, then use this from websocket_req:new/1 instead? Thoughts? Comments?