Implement experimental non-default mechanism to update scene via a timer rather than a persistent thread with sleep.

This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available.
Can currently only be activated by setting "debug scene set update-on-timer true".
Can be switched between timer and thread with sleep updates whilst the scene is running.
Fix frame times when updating scene on timer.