Improved battery widget to allow for both percentage and time remaining ...

Ideally this would be done in a similar way to Data.Time.Format,
but for now this works.

The built-in battery widget didn't quite suit me so I made it a bit more flexible.