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.
Use QApplication::applicationState to detect if we're in the background.

May want to expand upon this at some point; if we’re hidden we most
definitely *do not* want to render anything
Use the applicationStateChanged signal.
Refactor if..else into a switch.

Also support the hidden and suspended states.
Skip rendering when we're minimized.
Merge branch 'master' of https://github.com/Geenz/hifi into 19514
Merge branch 'master' of https://github.com/Geenz/hifi into 19514
Tweak in code styling per Brad’s feedback, along with using SIGNAL and SLOT instead of function pointers directly.
Merge branch 'master' of https://github.com/Geenz/hifi into 19514
Indentation!
Merge pull request #2301 from Geenz/19514

Code Review for Job #19514