Add a bunch of GIL release/acquire points in tp_print implementations and for
PyObject_Print().

Closes issue #1164.
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index 4dd7d03..bf9b172 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -334,7 +334,9 @@
 	char buf[100];
 	format_float(buf, sizeof(buf), v,
 		     (flags & Py_PRINT_RAW) ? PREC_STR : PREC_REPR);
+	Py_BEGIN_ALLOW_THREADS
 	fputs(buf, fp);
+	Py_END_ALLOW_THREADS
 	return 0;
 }