Disabling non available options instead of hiding when hw support is present (camera-haleakala)

- Global scope property persists the support of flash and hdr for the main camera (back)
- If option is not supported at all, option is hidden
- If option is supported in at least one camera but not supported in current module, option is disabled
- If option is supported in current module, option is enabled
- Avoiding race condition where CameraAppUI.applyModuleSpecs was bein called multiple times simultaneously for the same change
- Adding a check so BottomBar UI is updated only when there's a scope (module/camera) change, unless...
- Scope check can be requested within same scope for settings change

Bug: 20630060
Change-Id: Iac5fa2658f04fe8329a2232fb0d5b11d20e566a2
4 files changed