Modernize the virtualenv plugin

* Update and simplify the code
* Make the virtualenv plugin themable

Similar to #1780, but with simpler code and without messing with themes. :wink: