GCS Control: Make SDL optional

To compile with SDL joystick input support compile GCS with
make GCS_QMAKE_OPTS="CONFIG+=SDL" -j7 gcs
GCS Control: Remove commented code
Fix for excluding SDL
GCS Controller: Add an option to control via GCS Receiver instead
GCS Control: Update the GCS Receiver object
GCS: Also exclude sdlgamepad library when unused
SDL: Mask out more includes
SDL: Only copy the dll when used
GCS: Fix typo for optional SDL
Merge branch 'next' into gcs_control
Flight/F1 ADC- Refactor F1 ADC driver to use a two stage aproach

This abstracts the upper driver from the type of ADC device used
(internal, external).
Flight/ADC - Modified att and sys modules to work with refactored driver

Make use of the new upper driver functions on the attitude
and systemmod modules.
Flight/ADC - Created a new PCF8591(8x8bit adc)  driver

This is to be used with the two stage driver aproach
as a lower driver.
Flight/ADC - F1 Internal and PCF8591 bugfixes

Use NULL instead of -1 on internal driver.
Fix device validation function usage on pcf driver.
Flight/Battery Module - Convert the timer callback into a task

Refactor the battery module into a task instead of the previous timer
callback
This was needed because using a timer callback was triggering the WDG
when using an external I2C ADC.
Flight/ADC - Changed CC makefile to handle the new PCF8591 driver
Flight/ADC-Upper driver-Conditional compilation of function using freertos defined type.

It was breaking CC Bootloader compilation
Flight/ADC -Made several functions private, fixed code style

Changes acording to review coments.
This afected upper ADC driver, lower internal ADC driver
and PCF8591 lower ADC driver.
Flight/F1 ADC - Removed unused functions from the F1 internal ADC driver
Flight/F1 ADC -Internal driver, made 2 functions private

These functions are now accessed trough upper driver API