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.)
Also about `CI_LOG_E`, it is enabled (by default) in release mode. Though it can be annoying when there is one in an update or draw loop, since it will print every frame at fill up your console.  Maybe you meant CI_ASSERT (which is debug only).

On second thought, throwing here isn't so bad, since it elimates bad results early on in a clear manner. Though if you do keep it, please switch to a custom exception class that inherits from `ci::Exception`. Options seem to be this or log every update(), or silently fail and return 0..