[attributes] simplified function signatures
moved compilation to compile.js

:not and :has were moved, too
[index] simplified, changed API

added selectOne and selectAll methods

the exported function is now simply a proxy for selectAll (no more
changing behavior based on the number of arguments)
[general] removed unused variable