Experimental version of #170 . It is not fully less.js compatible due to
https://github.com/less/less.js/issues/1813 . I implemented it as I think
is right, but will change its behaviour if less.js thinks less.js is
right.