feat(compiler): Add an ElementBinder class and return it from Selector
chore(rename): Compiler terms:
  ViewFactory -> RouteViewFactory
  Block -> View
  BlockHole -> ViewPort

  Closes #647
feat(compiler): ViewFactory now takes a list of ElementBinders
feat(element binder): ElementBinder.bind
feat(element binder): Make ElementBinder non-recursive and create an external tree
chore(compiler): Move ViewFactory into WalkingViewFactory
feat(compiler): Initial TagggingCompiler implementation
feat(selector): DirectiveSelector is real now: matchElement, matchText
feat(compiler): Tagging compiler