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
The main reason why I added the public class is to be able to test it directly. There are a few corner cases that I didn't want to test though `DirectiveSelector`. So I can replace the public class with private methods, but the tests will become a little bit uglier. It will be even more so, if we decide to make css selector parsing spec complaint.