fix str_hash() for archs enforcing aligned pointers

uses the hashing algorithm from g_str_hash() from glib

fixes #27