Frame processing code rewrite and API cleanup

- moved all WebSocket frame specific processing out of HTTP.c into WebSocket.c
- memory footprint: removed WebSocket outputbuffers, using already existing curHTTP.data buffer instead and removed a couple of unused variable declarations
- readability: renamed curHTTP.Key to curHTTP.webSocketKey, renamed CreateHandShake to doHandShake, renamed constants and enums to uppercase with WS_ prefix, white space changes
- bugs:
  * changed TCPPut into TCPPutString in case SM_HTTP_SERVE_HEADERS (HTTP.c)
  * extended WebSocket frame payload length word should be sent in big endian instead of little endian order
  * receiving half a WebSocket frame could put the HTTP/WebSocket parsing code in a frozen state (inadequate RX buffer length checks)
- HTTP states: removed SM_HTTP_CLOSE_WEBSOCKET state since it is essentially the same as SM_HTTP_DISCONNECT
- Used a slightly modified TCPIPConfig.h, which can serve 2 http clients simultaneously
- Rewrote WebSocket frame handling code and API (see readme).
- Added CustomHTTPApp.c example file