Address Thomas' comments

The biggest changes here include:

(1) Periodically checking for event log updates in the background, instead
      of on refresh,
(2) Use a Long instead of a linearly scaling HashSet to keep track of the
      applications whose UIs are purposefully not rendered, and
(3) Adding Spark user as a new column. This includes adding a new field to
      the ApplicationStart event.