Merge rewritten BATTERY wrappers
Because we mimic Firefox behaviour, a Chromium derived browser
becomes more easily fingerprintable. This can be fixed by properly
wrapping `BatteryManager.prototype` getters and setters.
Note that Chromium was also fingerprintable before the application of
this merge as we used to delete BatteryManager and
navigator.getBattery() returned undefine instead of a Promise.