Implement Vector interfaces

The conversions from higher to lower precision types should just be a cast, no rounding. This is what I specified in the javadocs in the API.