Fix BatteryBar not updating length immediately on screen rotate

Use the display's width since it updates immediately and the view's
width updates after a few seconds.
Then we set the progress and restart the battery animation to use the
new length immediately when the configurations has changed.
Fix BatteryBar Symmetric from previous commit
Add Toggle for allowing batterybar to change according to battery level