Add ITagHelperActivator and concrete implementation.

- The TagHelperActivator enables dependency injection via properties and allows access to the ViewContext.
- This replaces the ICanHasViewContext mechanism that we had in place before.
- Added tests and fixed up existing to work with new format for providing ViewContext.

#1258
Could potentially take in `IServiceProvider` in the constructor but we already have the service provider available to us here.  Let me know if someone feels strongly in the opposite way :smile: