Rewritten UPowerBackend. Added isOnBattery method