Render highlights on their own layer to avoid GPU artifacts

Previously, when the last highlight div was removed from the lines layer, chunks of the lines would sometimes disappear. Since we've discovered that giving the lines an opaque background doesn't help with subpixel anti-aliasing anyway, I've found that rendering highlights on their own layer behind the lines and making the lines layer transparent avoids the artifacts.

Unfortunately, *now* removing the last highlights causes rendering artifacts on the wrap guide, which is also mounted on the highlights layer. So this PR also breaks out a separate layer for the underlayer.