Refactor: Pushed progress logic out of UI code.

Added a new hscommon.gui.progress_window unit with a
modernized approach to UI separation of concerns. Cocoa to
come.
Refactor: Pushed Cocoa progress logic out of UI code.
Merge branch 'progress-refactor' into vala
Merge branch 'progress-refactor' into vala
Continued developing the Vala UI.

- Changed the DBus server logic so that instead of having a
  multi-instance server running, each server is a single instance
  having a unique bus ID based on its PID.

- Implemented the progress window.

- Implemented query_load_path() callback. It was complicated
  due to mainloop deadlocks, which I ended up fixing by calling
  model.load_pdf() asynchronously.

- Make the DBus server start faster by delaying the initialization
  of the model app. It doesn't make the app as a whole load
  faster, but it makes the initial connection between the server
  and the UI happen much sooner during init.