Make the logic of QSSecurityFooter reusable

This CL makes the logic of the QSSecurityFooter reusable by extracting
the logic of refreshState() that maps the current security info into the
security button configuration. This is going to be used by ag/19678215.

This CL also introduces the generic Icon class to model an icon, which
either can be a loaded Drawable or a reference to a Resource. This model
will be shared by all layers of ag/19678215.

The SecurityInfo class is going to be used by the data layer of
ag/19678215, and SecurityButtonConfig by the the domain layer.

Bug: 242040009
Test: atest QSSecurityFooterTest
Change-Id: I0cd229b257a3eafd4c07a965abe536835724ecef
5 files changed