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