Python 2 unicode support, global root

If version == 2, coerce the string into unicode using the `unicode()` function. This is a fix for the fact that python `str`s don't have the `isnumeric` function.

Also, `options_sanitization` needs `global root` so that you don't get an `UnboundLocalError`.