Kickr BTLE connection fixup

No need to scan first, connect directly to
the previouslt paired device uuid.

By no longer scanning we can have multiple
threads connecting at once without conflicting
with each other.
Kickr autorelease pool when scanning

.. in AddDeviceWizard we need an autorelease pool
when doing the scan.
UI Nits: GcChartWindow for PfPvWindow and HrPwWindow
WF Api support multiple connections

Changed the WF API wrapper to return a sensor connection
descriptor (int) in the same way open/close system calls
return a file descriptor.

This means we will be able to setup multiple connections
at once .. but not neccessarily in separate threads.
Merge branch 'master' of github.com:GoldenCheetah/GoldenCheetah
UI Nits: GcChartWindow for CriticalPowerWindow and ModelWindow
Show picker info in CriticalPowerWindow
Correct previous commit
BT40 Skeleton code

To enable support of BTLE (BT 4.0 'smart') devices
as well as the Kickr.

Very basic skeleton code to get started. Will need
to;
- add a BTLE 'pair' in AddDeviceWizard
- use profile not portspec for the uuids
- filter out RFLKT and KICKR as they have their
  own device types
- fixup BT40.cpp which is KICKR code in this commit
BT40 / Kickr device discovery

Ensure the Kickr and BT40 devices can co-exist by
ignoring subtypes.

Also introduced a deviceFound signal so we can get a
device pairing page for BT40 (non-Kickr) devices.
BT40 AddDeviceWizard updates

Just a checkpoint before BT40 pair updates to connect with
each found sensor and display current data on the pair screen.

This is so the user can select the devices they want to be
included in this device definition (if they have lots of
BTLE devices).

I guess this is gonna mostly be dcrainmaker and wahoo employees!
BT40 device discovery fixups

A few fixups for BT40 discovery, we now search for BT40
devices properly.

- delete BT40 properly
- scan for longer
- return count of total found
- a few fixups to logic in AddDeviceWizard

Now need to update the pair screen to let the user
select/deselect sensors that are part of this "device".

Then obviously update the BT40/Controller for runtime
activity (and filter out the RFLKT since it will have
its own device type.
Fix compile time error for WF API