Fix for SFMT segfaults on precise32

There's probably a better way to solve the problem than this code, which is pretty heavy handed. Someone else who understands the C++ object model and memory layout will have to figure this out. I adapted this code from http://www.rohitab.com/discuss/topic/37560-c-aligning-class-members-to-a-16-byte-boundary/.

But I'm 80% sure that object model doesn't guarantee that SFMTData::sfmt is on a 16 byte boundary. If you print the address out, it's usually 8 bytes off a boundary.

cc #265