arm64: Use a hwcap ID rather than pointer
To allow for a different Linux hwcap value store the hwcap ID rather
than a pointer to elf{32,}_hwcap{2,}. This will be needed when creating
a different view of the ID registers for FreeBSD and Linux.
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D42371
(cherry picked from commit c9e8b4b27966acf710f86d8c9f867f857f05f2c3)