vim: Change match mechanism

Two critical bugs were introduced after tab character highlight:

-   The first `:match` is blown away, thus extra spaces are not
    highlighted
-   `:match` is window-specific, so newly created windows are not
    highlighted

Remove complicated `:match`, use neat `:set listchars`.