[WIP] Add serializer interface

Targets #161.
Simply nope.

First thing is you introduce a transaction getter _and_ a transaction setter, when you really need only one of them at the same time. Second: we defined the interface of the serializer to do the following:
 * You lik it to a connection buffer
 * In the libev handler callback, you try get a _message_. If a _message_ could be extracted, it returns that message. If data is missing, it returns NULL.

This makes callback design much more simple. Eg. you don't have any need for message buffers, queues or any other stuff like that.

Secondly: the code duplication is minimal, as the serializer and the deserializer each have a callback for exactly one task, and, maybe, a pointer to the `ws_connbuf` it's associated with.
That's minimal code-duplication.