Slider updates.

This PR re-implements updates to sliders originally implemented in #3452. This functionality was later removed to make #3472 build.

The DynamoSlider class, originally implemented in DynamoCoreWPF, was updated during #3472 to take an undo recorder as one of the parameters to its constructor. This undo recorder is utilized during slider drag events to record slider values for undo. This no longer works as the DynamoSlider is now created as part of the node view customization, which has no access to the workspace model. This logic has been partially moved to the model, and an internal task to finish the last recording step has been added [here](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-5726).

PTAL:
- [ ] @lukechurch 
This looks pretty odd to me, I think I'm missing something in the design.

Why do we have the implementation of the type parameter on a generic interface, and have the sliders extend their data type (IntegerSlider : DSCoreNodesUI.Integer) rather than have the sliders extent a 'slider class' and parameterise the result?