Refactoring in tests: start_mojo() func in t/testlib/Mojo.pm now sets up Mojo server.
Bug fix in Connection.pm: if the received message was either "" (empty string) or "0" (character of zero), the message was discarded because it was considered false in Perl. The bug is confirmed in a newly added test t/echo.t
Connection: fix the regression caused by the previous commit: mojo.t and ssl.t failed because $last was "".  This was because Mojo's websocket connection sends a "close" control frame when finish() method is called, and that control frame was passed to the on_each_message() callback. I think control frames are not expected in on_each_message() and on_next_message() callback.
t/echo.t: add a test case of sending and receiving UTF-8 wide characters.