Added native simd word primitives

This actually wasn't much work as I already had most of the work done.
I ran into a couple issues with sizes, but they were easy to fix.
I also changed simd-word.sml in the basis library to use a fairly basic
functor rather that seperate structures