Refactor: Separate out UDP server

Steps to make it easier to introduce the TCP server. (#251)

Extracts the OSC message handling and introduces a UDP server class.
Should, make it easier to add another protocol and allow optional switching of protocol via command line arg.