Scrape logind suspend/resume code

- UPower already reports if there's a battery change from state before
  suspending. No need to add further complexity
- Use mutex to ensure only one thread updating resources