Fixes to `highlight` and small refactoring

I've tried to improve [issue 1150](https://code.google.com/p/dactyl/issues/detail?id=1150), and found some minor bugs, e.g. `:hi clear` after `:hi Foo color:red` did not clear/remove `Foo`.

https://github.com/blueyed/dactyl/commit/6c1954f21031e449c7682c5ca39aab0436cf06db was meant to improve performance, but without (much?) success.

Is there a way to profile `:hi clear`?