chore(selector): Refactor DirectiveSelectorFactory into an injectable service

@pavelgj

Most useful for the new HTML compiler branch.  This also contains a same change that DirectiveMap.selector is not created until it is requested.