feat(directives): add support for multiple selectors separated by commas

Add support for multiple selectors when defining a directive. Selectors should be separated by commas.

Closes #304
Let me know if you think that the private functions are still preferable.