Tools-Make GUI

Gui tool for the toplevel makedile
Tools - Make GUI

Allow building and running from the toplevel makefile
Tools - Make GUI

Added the needed tags to some makefiles
Tools - Make GUI

Added missing resource
Tools-Make GUI

Minor fixes.
Handle MacOS bundle thingy
UAVO browser was emitting updates on every UAVO receive event. This was
inefficient and led to a high processor usage, as well as causing the
browser to drop a high percantage of updates.

The patch centralizes the dataChanged emits, and places them on a timer.
UAVO browser processor load fell over 50% and data updates beyond 3Hz are
now reliably shown.
Updated updateChanged() throttling to act directly on view, instead of data.
Moved all awareness of update ranges out of data model and into tree view.
Added dynamic throttling to UAVO browser. The throttling updates the UAVO
browser at the speed of the fastest visible UAVO, up to a certain
threshold. After this threshold, the throttle is scaled exponentially,
such that the maximum refresh rate is around 30Hz.
Fixed "dirty/clean" functionality to work properly on all tabs,
including autogenerated ones.
Changed to using signal/slot approach, instead of directly calling the
setDirty method. This ensure that the calibration methods are independent
of the calling widget, which allows for easy reuse.
Fixed dirty/clean support in output tab.
Changes requested from review.
Add specific dirty check for PipX. The behavior is now:
1) if an autopilot is connected then all pages generate warnings
2) if a PipX but there is no autopilot connected, then only the PipX
   configuration tab generates unsaved warnings
3) if nothing is connected then no pages generate warnings.
usb: manufacturer string PhoenixPilot -> TauLabs.org

Adjust USB strings to match project name.
f1 usb cdc: ensure uart state is transmitted on control endpoint

Previously, the IN stage on the CTRL interface would write (and
send) its data via the buffer owned by the DATA endpoint.  This
would probably have overwritten any data being sent at that
moment.  This may have caused data corruption from FC -> GCS.
f3 usb cdc: ensure uart state is transmitted on control endpoint
usbhook: make ctrl endpoint OUT treat request as const

The req parameter is passed to the OUT stage as a convenience.
Since the OUT callback is called *after* the transfer has occurred,
modifying the req would have absolutely no effect.  Marking this
as const makes this expectation clear.
f4 usb: allocate TX FIFO RAM for endpoints 2 and 3

This is required to support USB CDC mgmt and data
endpoints.
f4 usb cdc: implement CDC class driver for STM32 F4 SoCs