Update visibility checks.

Treat color and alpha separately - zero alpha should result in layer being not visible.
Only add visibility reasons for layers that are not visible before taking occlusion into account.
Update tests to check the visibility reasons are correct.

Bug: 331170658
Test: npm run test:unit:ci
Change-Id: Ide6a7568d2ce5cd31a68c40e07ee3fc7b91955ea
2 files changed