Add launcher script; rewrite power service to use upower DBus wrapper