Fps Debug Frame Callback
Each time a frame is drawn, records whether it should have expected any more callbacks since the last time a frame was drawn (i.e. was a frame skipped?). Uses this plus total elapsed time to determine FPS. Can also record total and expected frame counts, though NB, since the expected frame rate is estimated, the expected frame count will lose accuracy over time.
Also records the JS FPS, i.e. the frames per second with which either JS updated the UI or was idle and not trying to update the UI. This is different from the FPS above since JS rendering is async.