Move the UI showing the time left into its own component.

This also fixes (at least in part) the undesired full re-render of the whole modal.

Close #10.