Add less 2.x support

This PR uses less' new plugin api (as discussed in #22). Could everyone reading this please check it against existing code to check for any problems. Our tests are probably not sufficient.

This change is incompatible to less 1.x of course.