Relax timing_self_test for windows idiosyncrasies

Also widen accepted error to +/- 20 % while at it
diff --git a/library/timing.c b/library/timing.c
index c5d8d42..a7ad45b 100644
--- a/library/timing.c
+++ b/library/timing.c
@@ -386,7 +386,7 @@
 
         millisecs = get_timer( &hires, 0 );
 
-        if( millisecs < 450 * secs || millisecs > 550 * secs )
+        if( millisecs < 400 * secs || millisecs > 600 * secs )
         {
             if( verbose != 0 )
                 polarssl_printf( "failed\n" );
@@ -411,7 +411,9 @@
 
         millisecs = get_timer( &hires, 0 );
 
-        if( millisecs < 900 * secs || millisecs > 1100 * secs )
+        /* For some reason on Windows it looks like alarm has an extra delay
+         * (maybe related to creating a new thread). Allow some room here. */
+        if( millisecs < 800 * secs || millisecs > 1200 * secs + 300 )
         {
             if( verbose != 0 )
                 polarssl_printf( "failed\n" );