refactoring frontlight device to more generic power device
cache battery level in BasePowerD
Since we need to pull it frequently but usually it doesn't change
that often.