First pass at hint request experiment.

Based on a value returned by the server, hints are either shown as normal or
users have to press a button to see the hint.  The placement of the "request hint"
button relative to "try again" is also controlled by the value returned by the
server.  If no value is returned, the experiment does not take place
(hints are shown as usual).

This is not ready to be committed.  There are still some TODOs.