Gl next query

To get the discussion going about gl query objects.

(Previously named QueryTimeElapsed, I renamed it to QueryTimeSwapped here in order to make the swapping mechanism more explicit.)
I agree, throwing seems a bit drastic in this case. Its tempting to suggest that if `! mIsStopped`, `end()` is called from that function, though it means either some const's need to be removed of some things need to be made mutable..