Utils platform

### Merge Checklist
My fork's master is now Kivy master, one branch for one feature only, the right way?
Docs build
Tests run
PEP-8 pass
**Requires Cython compile of kivy.graphics.opengl_util.pyx**

### Purpose
This hack used all the time:
```
platform = platform()
```
Can platform ever change at runtime?  If not, this branch can let us replace platform() function with platform variable initialized in the module.  Deprecation of platform() requires backward-compatibility.  This branch does this.

### Silly doc heading
Because of where the docstring is, Sphinx will cause the docs to say:
```
platform = platform name: 'linux' from: <kivy.utils.Platform object at 0x151c250>
```
when I build the documentation on my Linux machine.  I attempted several workarounds and found that we can override the signature of sphinx documentation by setting using either of these methods:
http://stackoverflow.com/questions/12082570/override-function-declaration-in-autodoc-for-sphinx/12087750#12087750
http://stackoverflow.com/questions/5365684/is-it-possible-to-override-sphinx-autodoc-for-specific-functions/5368194#5368194

Unfortunately I could not get them to work.