Remove some redundant code, and revamp the way the status dialog displays model messages.
Allow clients to modify model state, result, progress, and message through the API, and create separate API to start internal computation.  Closes #105.