Major refactoring underway

* Major refactoring of the architecture
* Changed basic concepts of internal objects (plugins, mediators, listeners)
* Rewrote config example, TODO: fix config parsing
* Added several utility functions
* Switched to Protobuf for message structure