Automatically configure ItemsControl if it's bound

## Why?

If you bind to an ItemsControl and have bought into RxUI Routing, nearly every ItemsControl (i.e. ListBox, etc etc), every `DataTemplate` will be exactly the same, just an instance of `ViewModelViewHost`. So, why not just do it for them if they haven't set a Data Template?

## How?

This PR adds a new feature to ReactiveUI, called "Binding Hooks". This feature allows you to register a method to be called whenever a `Bind()` and friends are called. We then use this new feature to recognize bindings that target ItemsControls and rig the DataTemplate.