DISTINGUISH_NAMES cpp option to give each implementation its own name

This lets you link more than one implementation into the same binary
if (for example) you need to decide at runtime whether you have an
SSE2 implementation.