Support for an idle render time step.

The basics of this is, if the application has changed its active state
then we only call paintGL every N milliseconds.  Currently the default
time step is 100 milliseconds.