holoirc: switch from LocalBroadcatManager to custom written message/handler system

* a lot more efficient and handles all messages unlike LocalBroadcastManager which would
miss out some messages if recieved quickly one after another
* also move things around to make more sense - create a new package for the interface between
the UI and backend