[OpenTK] Frameskip needs TargetUpdateFrequency!=0
[OpenTK] Fix UpdateFrame loop condition

Multiple UpdateFrame events should be raised to match the desired
TargetUpdateFrequency, when TargetUpdateFrequency > 0. The loop would
incorrectly check for TargetRenderFrequency instead.

Affects issue #43
[OpenTK] Simplified update and render loops
[OpenTK] Remove Thread.Sleep() from loop timing
[OpenTK] Fix UpdateFrame quantization error

The UpdateFrame event rate will now match TargetUpdatePeriod even if
vsync is enabled. Previously, it would be quantized to a multiple or
integer fraction of of the vsync rate.
[Examples] Improved timing display

GameWindowStates will now display the average fps and draw three moving
boxes based on different timing methods.

If the timing implementation in OpenTK is working correctly, all three
boxes should be moving at the same speed.
[OpenTK] Respect a TargetUpdatePeriod of zero
[OpenTK] Do not hang when update rate too high

OpenTK will now detect when an UpdateFrame handler is consistently
taking too long to finish, and stop raising UpdateFrame events. This
gives ProcessEvents() a chance to execute and will protect the
application from hanging up.
[OpenTK] Increase max Update/RenderFrame rates

Given the new 144Hz monitors on the market today, it makes sense to
increase the Update/RenderFrame limit from 200Hz to 500Hz.
Merge branch 'issue43_unstablefps' into develop