Fix function selection. Under certain conditions signals were blocked, thus making OK disabled forever.

See https://sourceforge.net/p/qlcplus/discussion/general/thread/ddd4bf9f
Engine: This is huge. Split universes. Also:

- Grand master now has its own class
- Relative write has a dedicated call

Not working:
- HTP/LTP
Engine: fixed crash on Universe write

- added channel capabilities API and called when a fixture is added
Engine: fixed crash on SimpleDesk and Monitor
InputOutput manager: given a stylish look
Input Output manager: it is now possible to add/remove universes
Engine: finally solved weird behaviour caused by wrong channel capabilities mask !
Simple Desk: reviewed/simplified code with the new multiple universe code. Simple Desk is now always the last DMXSource so it has precedence over all DMX values
Engine: (huge one) unified InputMap and OutputMap. Universes saved on project XML (not loaded yet)
Engine: InputOutputMap and Universes are now loaded from XML
Add doxygen configuration file and comments

For more info on doxygen, see doxygen.org.
For install in Ubuntu/Debian, run "sudo apt-get install doxygen graphwiz"
Generate source documentation/browser with "doxygen qlcplus.dox" in doxygen/
Remove unused class DMXSlider

Should have been removed in e639f2d
Rename OutputPluginStub to IOPluginStub, as it better expresses the purpose
Refactoring: add InputPatch::isPatched(), OutputPatch::isPatched()
Clean GrandMaster code (remove gm prefixes), add unit tests for GrandMaster
Fix Universe tests - not finished yet
Rename members in Universe
Fix Universe unit tests

- add testmacros.h to display quint8 values in QCOMPARE()
Fixed the chaos generated by the last devastating rebase
InputOutputManager: restored our beloved input joystick