accept element instead of d3 selection so d3 is no longer required in directives