Improve GameWindow timing (fixes issue #43)

GameWindow now accounts for quantization errors between UpdateFrame events. This results in smoother timing over longer periods of time, as well as a closer match to the desired TargetUpdatePeriod.