Reworked timer code to be cleaner to be more reliable.
Added setting interpolateFrames which if set preserves previous frame behaviour. If not set, the render thread will not draw the same sim frame twice, instead it will wait until a new sim frame is available rather than potentially wasting time re-rendering old frames. In practise this results in reduced stuttering as long as the sim framerate is >= the rendering framerate.
Added additional debug logging for unreleased d3d resources
Fixed up GPU timers not being cleaned up correctly