Clear blankstate screen if conditions change

The diary, home and analysis blank state screens will
now close if rides are added.

Still need to make the train view blank state screen
close when devices and workouts are added.
BlankState basics completed

.. now closes train view blankstate when device added
and workouts have been imported.

.. and made the home and diary views have same buttons
as the analysis view. That may change in later releases
when we have planning functions.
Autohidden chart settings framework

Setup code to enable revealed chart controls. When
in tabbed mode, if the cursor is towards the title
then the chart controls are revealed, as the cursor
moves away or off the chart the controls are hidden.

Each chart, that wants revealed controls must implement;

bool hasReveal() -- return true if controls are available
void reveal()    -- show controls (must be at top of chart and a single line)
void unrveal()   -- hide controls

Will now work through each chart adding the controls as needed.
Will also probably end up with a 'standard' flat stylesheet for
the controls, can implement this later.

See description for this feature here:
https://github.com/GoldenCheetah/GoldenCheetah/issues/31#issuecomment-12040318
Chart settings reveal adjust mouse positions

.. have a larger area to activate and deactivate the
revealed chart controls.
Reveal Controls: Histogram

Add reveal controls to the histogram window, using
the new reveal framework.

I only added a small number of controls, we should
be careful not to overload this feature with a zillion
controls "because one user wants it".
Fix TCX Export Schema Compliance

Write a valid TCX file, that conforms to its
schema, including;
- ProductId is ProductID
- Watts must be an integer
- Language ID is required
- PartNumber has a specific format
initialise default value for reveal control
synchronize reveal slider with standard slider
Reveal Controls: AllPlot

Added smooth slider and stack selection as the
reveal controls on the ride plot.
Initialisation of reveal controls
Fix thru today date selection on LTM

.. it needs to be applied every time a
date range is selected, so need a new bool
useToToday to flag that up.

Will need to fix the other date range charts
to do the same.
UseThruToday: Fix CP chart
UseThruToday: Fix Histogram chart
UseThruToday: Summary
UseThruToday: TreeMap
Change 'hotspot' for reveal/unreveal
Transparent background for reveal controls
Add controls for HrPwWindow
UI Nits:Histogram Window border

.. I broke this in an earlier commit where I set
contents margins to 0, thus making it impossible
to resize in tile mode and also making the chart
overlap with the border.
Reveal Controls: AllPlot update

To allow user to turn on/off the fullplot at the
bottom of the chart.
Reveal Controls: HrPw update

Moved the fullplot to the bottom since it clashes with
the new reveal controls. Also changed the contents
margins to 2 to allow resize in tile view.
UI Nits: Aerolab title

Removed the "date" title on Aerolab, thought I'd removed
those a long time ago. Last vestige of the 2.x style.