Pass PyBUF_CHARACTER instead of PyBUF_SIMPLE to PyObject_GetBuffer().
This makes the failing tests (test_unicodedata and, on OSX, test_hashlib) pass.

XXX However, I'm not sure that this is the right thing to do;
this behavior means that Unicode strings are automatically hashed as their
UTF-8 encoding.  Is that what we want?
diff --git a/Modules/_hashopenssl.c b/Modules/_hashopenssl.c
index eab190b..9ee1b3d 100644
--- a/Modules/_hashopenssl.c
+++ b/Modules/_hashopenssl.c
@@ -158,7 +158,7 @@
                                     "object supporting the buffer API required"); \
                     return NULL; \
                 } \
-                if (PyObject_GetBuffer((obj), (viewp), PyBUF_SIMPLE) == -1) { \
+                if (PyObject_GetBuffer((obj), (viewp), PyBUF_CHARACTER) == -1) { \
                     return NULL; \
                 } \
                 if ((viewp)->ndim > 1) { \