Enable building with GCC
- Fix apparent typos in vget_high and vget_low.
- __builtin_align_up not supported by GCC. Replace it with code that typically compiles to the same instructions.
- Removed some invalid loop unroll pragmas.
- Work around GCC not supporting template specialisation in classes.
- Add missing return value checks in tests.
- Various minor fixes to address warnings and compilation failures.
- Build with GCC in CI.