title: Kivy - NotImplementedError: tostring() has been removed
body: <p>its been days since iam stuck with this error. As you can see in the log have latest version of Kivy and Python but i get PermissionError and NotImplementedError. i tryed to run it as superuser but it still doesnot work, as i know it must work without it.</p>
  
  <p>when i run it a window appears but it doesnot render any text at all, there is only one artifact in the midle wich disapears when i click the button, everything else seems to be fine.</p>
  
  <pre><code>from kivy.app import App
  from kivy.uix.button import Button
  
  class TestApp(App):
      def build(self):
          return Button(text='Hello World')
  
  TestApp().run()
  
  
  
  [INFO              ] [Logger      ] Record log in /home/shalva/.kivy/logs/kivy_17-01-16_7.txt
  [INFO              ] [Kivy        ] v1.9.1
  [INFO              ] [Python      ] v3.6.0 (default, Dec 24 2016, 08:03:08)
  [GCC 6.2.1 20160830]
  [INFO              ] [Factory     ] 179 symbols loaded
  [INFO              ] [Image       ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
  [INFO              ] [Text        ] Provider: pil(['text_sdl2'] ignored)
  [INFO              ] [OSC         ] using &lt;multiprocessing&gt; for socket
  [INFO              ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
  [INFO              ] [GL          ] OpenGL version &lt;b'3.0 Mesa 13.0.3'&gt;
  [INFO              ] [GL          ] OpenGL vendor &lt;b'Intel Open Source Technology Center'&gt;
  [INFO              ] [GL          ] OpenGL renderer &lt;b'Mesa DRI Intel(R) Sandybridge Mobile '&gt;
  [INFO              ] [GL          ] OpenGL parsed version: 3, 0
  [INFO              ] [GL          ] Shading version &lt;b'1.30'&gt;
  [INFO              ] [GL          ] Texture max size &lt;8192&gt;
  [INFO              ] [GL          ] Texture max units &lt;16&gt;
  [INFO              ] [Window      ] auto add sdl2 input provider
  [INFO              ] [Window      ] virtual keyboard not allowed, single mode, not docked
  [INFO              ] [ProbeSysfs  ] device match: /dev/input/event6
  [INFO              ] [MTD         ] Read event from &lt;/dev/input/event6&gt;
  [INFO              ] [Base        ] Start application main loop
  [INFO              ] [GL          ] NPOT texture support is available
   Exception in thread Thread-1:
   Traceback (most recent call last):
     File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
       self.run()
     File "/usr/lib/python3.6/threading.py", line 864, in run
       self._target(*self._args, **self._kwargs)
     File "/usr/lib/python3.6/site-packages/kivy/input/providers/mtdev.py", line 219, in _thread_run
       _device = Device(_fn)
     File "/usr/lib/python3.6/site-packages/kivy/lib/mtdev.py", line 131, in __init__
       self._fd = os.open(filename, os.O_NONBLOCK | os.O_RDONLY)
   PermissionError: [Errno 13] Permission denied: '/dev/input/event6'
  
   Exception ignored in: 'kivy.graphics.instructions.RenderContext.set_texture'
   Traceback (most recent call last):
     File "kivy/graphics/texture.pyx", line 786, in kivy.graphics.texture.Texture.bind (kivy/graphics/texture.c:10206)
     File "/usr/lib/python3.6/site-packages/kivy/core/text/__init__.py", line 628, in _texture_fill
       self.render(real=True)
     File "/usr/lib/python3.6/site-packages/kivy/core/text/__init__.py", line 573, in render
       return self._render_real()
     File "/usr/lib/python3.6/site-packages/kivy/core/text/__init__.py", line 559, in _render_real
       data = self._render_end()
     File "/usr/lib/python3.6/site-packages/kivy/core/text/text_pil.py", line 57, in _render_end
       self._pil_im.mode.lower(), self._pil_im.tostring())
     File "/usr/lib/python3.6/site-packages/PIL/Image.py", line 697, in tostring
       "Please call tobytes() instead.")
   NotImplementedError: tostring() has been removed. Please call tobytes() instead.
  [INFO              ] [Base        ] Leaving application in progress...
  </code></pre>