Fork out message handling, begin message handlers

Changes made:
- After WiFi setup, message handling is forked out to a second process
to run in parallel to the main loop. Print statements seem noticably
slower to appear than before, could investigate thread libraries or some
other way of threading the message process.
- Implemented a message assembler for ping functionality in the GUI,
began support server side.
- Removed duplicated/unused function declarations in header files.
- Removed doxygen commenting while documentation generation is not
applicable.
- Added controller enum in GUI.
- Made message properties publically writeable for the sake of the
message assembler(s).

Still to complete:
- Complete ping message support
- Use ping message to poll server once per second for a live connection,
instead of waiting for a message to be sent or a connection to be
attempted.