Further fix for ``lang._handlers`` memory leak related to ``Bubble``.

Original problem: Bubble constructs BubbleContent before finishing its
own construction, thus never initializing its ``_proxy_ref``, causing
``lang.get_proxy`` to return the Bubble itself (this is when creating
handler for BubbleContent's color from parent color). This in turn
caused ``lang._handlers`` to unnecessarily keep it alive. 

The fix: I let ``Widget._proxy_ref`` be generated lazily on demand
instead of relying on ``Widget.__init__``: whenever the user calls
``Widget.proxy_ref`` for the first time, ``Widget._proxy_ref`` will be
initialized. I don't see any particular reason to initialize
``_proxy_ref`` only in the ``__init__`.
Merge remote-tracking branch 'kivy/master' into lang_handler_memory_leak_fix
Merge remote-tracking branch 'kivy/master'
Update animation.py
uix:TextInput fix for IndexError on empty new line
uix:Popup add `title_color` property to control the color of the
popup title
Document CanvasBase and Canvas.clear.
doc: revisions to input/providers/mactouch.py
doc: revisions to input/providers/mouse.py
doc: revisions to input/providers/mtdev.py
doc: revisions to input/providers/probesysfs.py
doc: revisions to input/providers/tuio.py
Merge pull request #1429 from Ian-Foote/canvas_doc

Document CanvasBase and Canvas.clear
Merge pull request #1428 from kivy/popup_title_color

uix:Popup add `title_color` property to control the color of the title
doc: revisions to input/providers/wm_common.py
Merge branch 'master' of git://github.com/kivy/kivy
Merge pull request #1427 from kivy/textinput_scroll_fix

uix:TextInput fix for IndexError on empty new line
Use widget's id as its __hash__.
uix:TabbedPanel remove print left over from debugging
Add text_type to kivy.compat as alias for unicode/str.