Fix widget updates and thread priorities

This resolves four issues:
 - The widget wasn't updating once the MainActivity had been destroyed.
 - The scheduling policy for worker threads was not being set correctly.
 - The application object should be fetched with getApplication() when in
   an activity context, rather than getApplicationContext().
 - The widget receiver should not be exported.