DownloadManager does not let you set its proxy or change how it connects to
the internet. So we have to make a custom one, unfortunately. This is a
very basic downloader with none of the special sauce that makes the
built-in DownloadManager handy.
This makes sure that Orbot is running when the user expects it to be. If
NewPipe is configured to use Tor, then going to a NewPipe screen should
ensure Tor is running.
This adds an Application subclass to get the onCreate() method, which is
called once at the first start up of the app, before any Activity starts.
Tor is configured there to ensure it is setup before anything happens.
This also moves the "Use Tor" pref listener to a more appropriate place.