Rename variable to l:active_highlight

It was never a colorscheme
Use the more versatile matchadd() mechanism

This frees the :match highlighting for ad-hoc usage and will generally
facilitate adding other matches independently from bad-whitespace.
Sync highlighting on WinEnter

Every buffer has a variable that determines if bad whitespace should be
displayed or not.  The display will be synced on WinEnter.

I expect the common use case is to either permanently view them or not.
So this should work out fine in most cases.  A window-specific variable
would be initialized with the default on each split which is presumably
not what is wanted.
Refactor handling of the start-up state

Obtain the default during buffer-init instead of turning the display off
later.  Rename accordingly.