Ensure description changes are saved.

Add two fallback mechanisms to save description. When the fragment
UserVisibilityHint is set to false we commit all changes. We also commit
description changes 1 second after the user has stopped typing.

Closes #100