resolves #892 match word characters defined by Unicode

- replace \w with character class to match word characters as defined by Unicode
- use Unicode match groups for Ruby >= 1.9.3
- rename regex character class constants
- don't filter out word characters outside of ASCII range in section id
- add tests for matching word characters outside of ASCII range
- Opal compatibility fixes and cleanups