Toggle dirty checking on tab visibility

Manual test for Firefox, IE, and Safari. Chrome skipped due to Object.observe usage

Fixes #892 Consider not dirty check polling when the tab is not visible
Merge remote-tracking branch 'upstream/master'