build: Add architecture checks for x86 and ARM
On x86, SSE optimisations are always compiled in, and used based on runtime checks. On ARM, we try to autodetect NEON support (with an option of runtime detection). This has not been build-tested on ARM yet. This leaves MIPS to be done.