basic bidi support

Support bi-directional text using [pyfribidi](http://pyfribidi.sourceforge.net/) or [python-bidi](https://pypi.python.org/pypi/python-bidi), if available. This just handles bidi text, and does not do any reshaping (I tested with Hebrew).

bidi support is added to core `LabelBase` and exposed via properties in `Label` and `TextInput`, and should work with any widget subclassing those (I tested `Button` as well).

Also adds a config section `i18n` and setting `bidi`, which controls the default value for the core label setting.

This will help with #1619.