Gtk tree cleanup and ITreeDataSource events

This PR includes a ITreeDataSource events implementation for TreeStoreBackend and some code cleanup.