Initial x86_64 CPU Support

Updated build system to compile for x86_64 targets.

Many changes here to make the build system more flexible and able to
support multiple CPU architectures.