Android: Don't call disconnect when not connected

The OPConnected and OPDisconnected signals refer to the status of
telemetry so make sure the disconnected function is not called
unless connected was.  This was being artificially triggered on
a disconnected intent that interrupted link negotiation.
Android HID: Handle interrupted connections better

Previously unplugging the HID device left things in a bad state.
Now the HID layer notifies the rest of the application the connection
has failed.

Fixes #286
Android Logging: Sometimes the task is disconnected without objMngr

If the connection fails very early the object manager might not
be set and logging would fail on disconnect.

Work on #242
Android: Keep connect button sane

Switching between activities was messing up the connect button
because we weren't updating some flags when binding the service.

This should be better fixed in #287
Telemetry Stats: Use a custom view in the action bar
Android HID: Check all valid devices but only accept one

It seems like after the same device is plugged and unplugged in
multiple times ghost devices are left.  We need to test all of
them but ensure that we do not start multiple read/write threads
of the driver gets very unstable.

Fixes #289
Android HID: If a request fails clear the queue

This seems to make HID telemetry more stable
Android HID: Make sure to stop both read and write threads

The thread.interrupted(); thread.join(); sequeunce seems to throw
and InterruptedException for the read thread.  Make sure to attempt
to wait for the write thread as well in this case.
Android Telemetry: Use state queried from telemetry for connection state

Previously the activity used logic to attempt to track the connection state.
Now all the logic is in the telemetry service and hte activity queries this.
Android: Replace connected flag with query against telem service

Like the previous commit previously logic about the connection state
was maintained in the activity.  Now it uses the telemetry state
when possible.

Work on #287
Added Histogram and VibrationTestSettings UAVOs.
Added vibration test module.
Added VibrationTest targets: Quanton, FlyingF3, and RevoMini.
Android Telemetry: Fix typo that spammed warnings

When removing elements from the transaction queue the check
was backward.
Enabled on/off switch on vibration test.
Changed module name to VibrationAnalysis.
Flight-minimosd

Allow OSD and GPS connected on mainport. GPS speed must be set to
minimosd default of 57600.
Added additional targets. Vibration analysis is untested on these.
Increased FW_BANK_SIZE parameter on F3 and F4 boards to reflect the
requirements of the growing number of modules.
Disables scope updates when scopes are not visible. Reduces idle CPU load
by approximately one-third.