Refactor highlighting

Extract some of the common logic from the renderers.
Context is not used within any of the renders so no need to pass it
Revert back to an intialize more similar to the original
Merge pull request #2154 from jpiasetz/refactor-highlighter