Refactor highlight

Easier to read, simpler and uses normal magic.
Improve matching

* Handle filename matching
* Prefer matching touching letters, ab_b_c will match the first ab
* Clean up code
Merge pull request #9 from aaronjensen/improve-highlighting-more

Further highlighting improvements