Fixes unicode filepath handling on windows

Use shortnames for all ANSI file operations
Fixes utf8 error in str-index function

Finding the correct code-point and increasing plus one is
the correct way, although it also works by just "skipping"
the first code point byte (which is what c_index + 1 does).
Replaces native utf8 handling with UTF8-CPP library

Remove the hassle to write and maintain code to handle
Unicode. Use this light-weight (header-only) library to
handle all Unicode related stuff. Can handle invalid
Unicode strings correctly and more gracefully.

http://utfcpp.sourceforge.net/
Indents code in try blocks
Renames some utf8 helper functions

The names were (IMO) not very intuitive.
I tried to apply some meaningful conventions.
Uses native windows API for file IO with Unicode paths

Shortnames may become obsolete or can be disabled.
This implementation should be more future proof!
Reorganizes around try/catch to avoid clang warnings

Calling error in catch will throw, but clang doesn't know!
Adds performance optimization to UTF16 converters
Updates sass2scss to latest tagged version (0.9.1)
Fixes file handle closing on file reading

Forgotten to close the handle in windows implementation.
Merge pull request #471 from mgreter/windows_unicode_paths

Fixes unicode filepath handling on windows