Added ApplicationState

Introduced CWWebApplicationState which holds globally important information about the application that can be passed around. CWWebApplication implements this and is therefore the only class that can write to the state. The state currently holds the identifier of the device plus information about the remote state of the application (are remote devices connected, can it become a remote?)

Introduces CWRemoteCommunicationParser to the web library which parses messages from remotes. For now, this allows the web application to register for “deviceConnected” events.

Furthermore some minor code changes and cleanups