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