refactor(cpufeat): decouple FGT feature detection and build flags

Split the feature check for FEAT_FGT into two parts:
- A boolean function that just evaluates whether the feature is usable.
  This takes build time flags into account, and only evaluates the CPU
  feature ID registers when the flexible FEAT_STATE_CHECK method is
  used.
- A "raw" function that returns the unfiltered CPU feature ID register.

Change the callers where needed, to give them the version they actually
want.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Change-Id: I9a041132d280451f5d9f653a62904f603b2a916d
diff --git a/common/feat_detect.c b/common/feat_detect.c
index 21dd35d..cbbee97 100644
--- a/common/feat_detect.c
+++ b/common/feat_detect.c
@@ -346,7 +346,7 @@
 
 	/* v8.6 features */
 	read_feat_amuv1p1();
-	check_feature(ENABLE_FEAT_FGT, is_armv8_6_fgt_present(), "FGT");
+	check_feature(ENABLE_FEAT_FGT, read_feat_fgt_id_field(), "FGT");
 	read_feat_ecv();
 	read_feat_twed();