Bugfix - FlyingF3: PWM6 and PWM7 used wrong AF

They bothed used AF2 which is unused for these pins
instead of AF1 so the PWM functionality wasn't
working.

Fixes #449
[Splash screen]: Remove float on top property.
Ground-Plugins-Created gcscontrolplugin

Provides a GCSReceiver API
ground-plugins-gcscontrol renamed to gcscontrolwidget
Ground-plugins-gcscontrol- made gcscontrolwidget use the gcscontrolplugin API
ground-plugins-gcscontrolwidget-renamed gcscontrolplugin to gcscontrolwidgetplugin
ground-plugins-gcscontrol add timer to periodically send gcsreceiver

This is needed in order to not trigger failsafe.
ground-gcs-plugins-gcscontrolwidget fixes compile issue with USE_SDL=TRUE
ground-plugins-gcscontrolwidget added gcscontrolplugin as dependency
ground-plugins-gcscontrol completed file header information
ground-plugins-gcscontrolwidget removed unused function
f4 pios_i2c: fsm rewrite to get rid of all errors and special cases
all pios_i2c: moved event enum definition into private header
all pios_i2c: removed first_txn as it was unused
add Mavlink to revolution
AltitudeHold: clean up how settings are loaded

This prevents any bad data getting in while the system
is initializing.
AltitudeHold: move variables into the method when possible

This is just better coding style and none of those variables
needed to be global.
AltitudeHold: add 100 ms delay to start up

For some reason it can sometimes produce NAN without this change
and I cannot for the life of me determine why.
AltitudeHold: more small cleanups
AltitudeHold: add alarm to indicate it is safe to use AH

This also checks for invalid values and prevents arming.