refactor

progress so far on refactor to support background parsing
- Background parsing works
- Syntax highlighting works
- Outlining works