Merge changes from topic 'footer-settingslib'

* changes:
  Depend on SettingsLib's version of lifecycle and FooterMixin.
  Add a factory method to create a Lifecycle.