refactor yaws_websockets as a gen_server
refactor yaws_websockets as a gen_server

The yaws_websockets module used an explicit recursive loop. Refactor it to
use a gen_server instead.

bsmr-erlang/yaws,capflam/yaws,weisslj/yaws,leoliu/yaws,imtal/yaws,watonyweng/yaws,ca91/yaws,watonyweng/yaws,weisslj/yaws,toraritte/azith,namjae/yaws,zephyrean/yaws,patternmatched/yaws,phonohawk/yaws,phonohawk/yaws,namjae/yaws,sebgod/yaws,watonyweng/yaws,ca91/yaws,patternmatched/yaws,capflam/yaws,imtal/yaws,capflam/yaws,sebgod/yaws,bsmr-erlang/yaws,zephyrean/yaws,sebgod/yaws,capflam/yaws,toraritte/azith,zephyrean/yaws,phonohawk/yaws,capflam/yaws,ca91/yaws,zephyrean/yaws,capflam/yaws,patternmatched/yaws,bsmr-erlang/yaws,andreineculau/yaws,watonyweng/yaws,andreineculau/yaws,ca91/yaws,leoliu/yaws,leoliu/yaws,phonohawk/yaws,bsmr-erlang/yaws,klacke/yaws,weisslj/yaws,imtal/yaws,ca91/yaws,toraritte/azith,namjae/yaws,klacke/yaws,klacke/yaws,namjae/yaws,capflam/yaws,ca91/yaws,phonohawk/yaws,patternmatched/yaws,zephyrean/yaws,andreineculau/yaws,watonyweng/yaws,namjae/yaws,leoliu/yaws,imtal/yaws,weisslj/yaws,toraritte/azith,phonohawk/yaws,patternmatched/yaws,leoliu/yaws,weisslj/yaws,bsmr-erlang/yaws,imtal/yaws,patternmatched/yaws,watonyweng/yaws,phonohawk/yaws,zephyrean/yaws,imtal/yaws,ca91/yaws,sebgod/yaws,klacke/yaws,leoliu/yaws,andreineculau/yaws,klacke/yaws,sebgod/yaws,namjae/yaws,klacke/yaws,sebgod/yaws,patternmatched/yaws,leoliu/yaws,sebgod/yaws,namjae/yaws,toraritte/azith,imtal/yaws,bsmr-erlang/yaws,watonyweng/yaws,zephyrean/yaws,toraritte/azith,weisslj/yaws,andreineculau/yaws,toraritte/azith,bsmr-erlang/yaws,weisslj/yaws,klacke/yaws