Added preliminary SIMD support

The alignment requirements entailed extensive changes. When extra alignment is
needed, Python objects will now keep a pointer to the data instead of having it
embedded.

Additionally, the fixed/variable storage abstraction has been simplified.
Variable-sized storage is no longer based on PyVarObject and the
internal/external distinction has been eliminated. The "store" and "repr"
classes have been merged into one and vectors and matrices now use the same
template instantiation.