Do not merge: low power mode

Feel free to test.

Do not merge as it needs more comments and some refactoring/cleaning before integrating the main repository.
Unrelated to your changes I'm wondering why we have all this location code in the Application class. I guess that this is only to have a single guaranteed existing entry point from everywhere else. But if so, then we could move all that out of the application class and use a singleton, manager, or what else that encapsulates only this location code.