Lang: set id name as attribute of root widget

I was hoping to get a discussion started about this. There have been a few requests asking for easy access of id's in .python code. The way I'm implementing this may not be desirable due to it's hackish nature. However I'd like to get your opinion on the right approach for this.

This code; for a id: my_id creates a attribute my_id in root widget that can be accessed in python like
root_widget.my_id

I used the following code to test

UPDATE: updated example below to show usage in python as well
UPDATE2: updated example to reflect the use of `ids`
```
from kivy.app import App
from kivy.uix.tabbedpanel import TabbedPanel
from kivy.lang import Builder

Builder.load_string('''
<MyClass>:
    do_default_tab: False
    TabbedPanelItem:
        text: 'test'
        id: tpitem
        Button:
            id: my_button
            on_release:
                print 'from kv', root.ids.my_button, root.ids.tpitem
                root.do_release()
''')

class MyClass(TabbedPanel):
    def do_release(self):
        print 'from py', self.ids.my_button, self.ids.tpitem

class MainApp(App):

    def build(self):
        return MyClass()

if __name__ == '__main__':
    MainApp().run()

```