Dramatically improved symbol extraction

Sublimes view.substr and view.line are surprisingly slow.
Workaround to mitigate memory leak in ST3

There is bug in ST3 plugin host which prevent GC to collect objects created
in threaded code. So we cannot use _async methods or call any sublime API
from our threads. Sigh.
Refactor view_data API
Restored ST2 compatibility
Updated changelog and readme